2016-03-15 78 views
0

我有三个表 - T1T2 & T3我需要一个存储过程吗

对于每一行T1我需要从第三个表T3获取从该表中的所有数据和其他一些栏目,并插入到T2 //这是T1

分区的版本,我需要存储这个程序?

+2

如何添加数据?它一次只有一行,还是多行的批量上传?数据如何插入到T1中?直接从Java /其他一些非数据库代码? – Boneist

回答

3

不,你不这样做,它可以用一个简单的插入是选择做:

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

当然,你必须改变此查询到你想要的任何列,以及连接条件之间的关系表格。

+0

谢谢..有点帮助,这里有一些问题 http://stackoverflow.com/questions/36008450/select-each-row-and-insert-into-another-table –

+0

虽然你可以用SQL来做到这一点,我个人会编写一个存储过程来处理T1和T2的插入。这样,如果有其他应用程序需要做同样的事情,那么您有一个可重用模块,并且不必在其他应用程序中复制逻辑。 – Boneist