【问题标题】:Do I need a stored procedure我需要存储过程吗
【发布时间】:2016-03-16 00:02:21
【问题描述】:

我有三张桌子 - T1T2T3

对于T1 中的每一行,我需要从该表中获取所有数据,并从第三个表T3 中获取一些其他列并插入T2 //这是T1 的分区版本

我需要存储过程吗?

【问题讨论】:

  • 数据是如何添加的?是一次一行,还是批量上传多行?当前如何将数据插入到 T1 中?直接来自 Java/其他一些非数据库代码?

标签: sql oracle stored-procedures datatables partition


【解决方案1】:

不,你不需要,它可以通过简单的插入作为选择来完成:

INSERT INTO T2
SELECT t1.*,t3.col1,t3.col2...
FROM T1
LEFT OUTER JOIN t3
 ON(t1.ID? = t3.ID?)

当然,您必须将此查询更改为您想要的任何列,并将连接条件更改为表之间的关系。

【讨论】:

  • 谢谢..这有点帮助,这里有一些问题stackoverflow.com/questions/36008450/…
  • 虽然您可以只使用 SQL 来执行此操作,但我个人会编写一个存储过程来处理对 T1 和 T2 的插入。这样,如果出现其他需要做同样事情的应用程序,您就有了一个可重用的模块,并且您不必在其他应用程序中复制逻辑。
猜你喜欢
  • 2010-10-10
  • 2011-06-29
  • 1970-01-01
  • 2010-09-21
  • 2011-04-17
  • 1970-01-01
  • 2010-09-08
  • 2017-10-08
  • 2020-01-27
相关资源
最近更新 更多