【问题标题】:SQL stored procedure prioritySQL 存储过程优先级
【发布时间】:2014-07-10 04:17:07
【问题描述】:

我正在尝试在存储过程中创建一些表,但我对创建它们的顺序有疑问。

我执行以下操作:

  • 在表 1 中插入内容
  • 将表 1 中的某些内容插入表 2
  • 将更多特定内容从表 1 和表 2 插入表 3

在转到表 2 和表 3 之前,我需要先填充表 1。

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

谢谢!

【问题讨论】:

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

标签: sql stored-procedures


【解决方案1】:

您可以从单个 SP 运行任意数量的查询。因此没有必要为此创建多个 SP。

【讨论】:

    【解决方案2】:

    是的,你可以应该你吗?这取决于 -

    • 插入 Table1 的逻辑是否足够复杂,以至于您想尽可能地重复使用它?然后让它自己的程序。
    • 您会永远在不插入表 2 和表 3 的情况下插入表 1 吗?然后将它们捆绑在一起。

    您可以通过为各个表创建插入存储过程并将它们捆绑到一个总体存储过程中来获得两者:

    {伪代码}:

    sproc A
        call sproc to insert into table 1
        call sproc to insert into table 2
        call sproc to insert into table 3
    end
    

    如果您的问题是:sproc 1 会在其他两个 sproc 开始之前完成,那么答案是肯定的,无论您创建一个还是多个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多