Sql server 将触发器复制行插入另一个重复表SQL Server 2008
概述:正在尝试为SQL Server 2008数据库编写触发器Sql server 将触发器复制行插入另一个重复表SQL Server 2008,sql-server,sql-server-2008,triggers,insert,Sql Server,Sql Server 2008,Triggers,Insert,概述:正在尝试为SQL Server 2008数据库编写触发器TableA和TableB具有相同的模式 目标:在插入到表格a时,将该行中的所有内容复制到表格B 到目前为止的注意事项: 使用我设法得到了大部分的方式,但后来绊倒了一个问题 无法在“插入的”和中使用文本、ntext或图像列 “已删除”表 我只有文本列,但我也想复制它们 我发现它似乎有一个解决方法,但它正在更新中,我还不能将它应用到我的插入示例中 有什么想法吗 编辑:目的是向现有产品添加功能,不幸的是,我无法更改表A的架构。我不确定您为
TableA
和TableB
具有相同的模式
目标:在插入到表格a
时,将该行中的所有内容复制到表格B
到目前为止的注意事项:
使用我设法得到了大部分的方式,但后来绊倒了一个问题
无法在“插入的”和中使用文本、ntext或图像列
“已删除”表
我只有文本列,但我也想复制它们
我发现它似乎有一个解决方法,但它正在更新中,我还不能将它应用到我的插入示例中
有什么想法吗
编辑:目的是向现有产品添加功能,不幸的是,我无法更改
表A的架构。我不确定您为什么不能使用链接到的示例。它应该简单到:
CREATE TRIGGER T_TableA_I
on TableA
after insert
as
set nocount on
insert into TableB (ColumnA,ColumnB,/* Columns in table b */)
select a.ColumnA,a.ColumnB, /* Columns from table a */
from
TableA a
inner join
inserted i
on
a.PKColumn1 = i.PKColumn1 and
a.PKColumn2 = i.PKColumn2 /* Primary Key columns from table A */
当然,您的问题不包含任何表定义,因此上面的内容需要进行大量修改。希望您能在上面有评论的地方找到添加/删除的内容。花时间道歉不是更好吗?我不明白……我链接到了一页SQL Server 2008文本、ntext和图像数据类型的文档。在顶部,一个大的突出显示框中:“在未来版本的MicrosoftSQL Server中,将删除ntext、text和image数据类型。避免在新的开发工作中使用这些数据类型,并计划修改当前使用它们的应用程序。改为使用nvarchar(max)
,varchar(max)
,以及varbinary(max)
。”哦,对了。这是为了向现有产品添加功能,因此很遗憾,我无法更改TableA