我正在定义删除触发器,我需要备份已删除的行,但只包含来自原始数据的几个参数,并且包括来自其他表的一列:
TableC :
* 1列:从列值在表A
*列2至6:从表B用多个表中的值插入行(SQL Server)
我要的是这样的:
INSERT into TableC values (
(SELECT Column1A from TableA where TableA.Column = 'SomeValue'),
(SELECT column1, column2, column3, column5, column6 from TableB));
TableC上的结果必须为:
Column1A,column1,column2,column3,column5,column6
但这不起作用。 在我的特例中,TableB是仅在触发器中可访问的已删除表。
我正在使用SQL-Server 2008,但我需要的是查询的逻辑,然后我尝试将其翻译。
谢谢。
这就是我一直在寻找的!谢谢你的快速回答。 – fern17 2010-11-16 05:50:52
显然,如果'Table1'返回多于一行,就会中断;所以你必须确保你只在这个独特的条件下运行它。 – BeemerGuy 2010-11-16 05:51:42
是的,我明白了。但这就是这种情况:) – fern17 2010-11-16 05:53:01