2014-10-03 47 views
0

我有两个类似的表格Table1和Table2。我想从Table1到Table2中引入一些记录,为此我使用了INSERT INTO语句。表1中有一列“EntityColumn”,其中包含C1,C2,C3等唯一值。SQL - 如何在执行INSERT INTO时改变表格?

对于从Table1复制到Table2的每条记录,我希望将列添加到第三个表 - Table3 - 和名称列的值应该是EntityColumn字段的值。附图应该提供描述。

enter image description here

请告诉我如何可以做到这一点。

+0

你真的需要将它添加到物理表吗? YOu可以在顶部创建一个交叉表视图。你真正想要的是一个交叉表。 – 2014-10-03 01:52:43

回答

3

你不能轻易做到这一点。

逻辑上的方法是编写一个触发器,并且对于插入的每个值,您都会修改第三个表并添加一列。

但是,根据documentation,DML触发器无法运行alter table语句来添加列。

+0

非常感谢您的回复。当行被复制到Table2时,而不是将列添加到Table3,有没有办法在所有行都复制到Table2后添加列? – 2014-10-03 05:55:02

+0

@GuhanMurugesan。 。 。这听起来像你需要一个存储过程来运行动态SQL来做你想做的事情。所以,是的,这是可能的。 – 2014-10-03 16:52:22