SQL存储过程优先级

SQL存储过程优先级,sql,stored-procedures,Sql,Stored Procedures,我正在尝试在存储过程中创建一些表,但我有一个关于创建它们的顺序的问题 我做了以下工作: 在表1中插入内容 将表1中的某些内容插入表2中 在表3中插入表1和表2中的更多特定内容 在转到表2和表3之前,我需要填充表1 我需要有两个单独的存储过程吗?一个用于填充表1,然后在完成时可以调用另一个存储过程来填充其他表 谢谢 您可以从单个SP运行任意多个查询。因此,无需为此创建多个SP。是的,您可以。你应该吗?这要视乎— 插入表1的逻辑是否足够复杂,以至于您希望尽可能地恢复它?然后制定自己的程序 如果

我正在尝试在存储过程中创建一些表,但我有一个关于创建它们的顺序的问题

我做了以下工作:

  • 在表1中插入内容
  • 将表1中的某些内容插入表2中
  • 在表3中插入表1和表2中的更多特定内容
在转到表2和表3之前,我需要填充表1

我需要有两个单独的存储过程吗?一个用于填充表1,然后在完成时可以调用另一个存储过程来填充其他表


谢谢

您可以从单个SP运行任意多个查询。因此,无需为此创建多个SP。

是的,您可以。你应该吗?这要视乎—

  • 插入表1的逻辑是否足够复杂,以至于您希望尽可能地恢复它?然后制定自己的程序
  • 如果不插入表2和表3,您永远不会插入表1吗?然后把它们捆在一起
您可以通过为各个表创建insert存储过程,然后将它们捆绑到一个总体存储过程中,来获得这两个存储过程:

{伪代码}:

sproc A
    call sproc to insert into table 1
    call sproc to insert into table 2
    call sproc to insert into table 3
end
如果您的问题是:存储过程1是否会在其他两个存储过程开始之前完成,那么无论您创建一个存储过程还是多个存储过程,答案都是肯定的。

SQL只是结构化查询语言—许多数据库系统都使用这种语言,但不是数据库产品。。。很多东西都是特定于供应商的-所以我们真的需要知道您使用的是什么数据库系统(以及哪个版本)(请相应地更新标签)。。。。