表的触发器导致SQL服务器中的不确定执行

时间:2013-09-05 09:28:29

标签: sql-server triggers sql-server-2012

我为一个表写了一个触发器来获取同一个表的数据并导出.txt文件,但它继续执行从不完整的执行。我做了像这样的代码

 create trigger monitorTrigger on test 
 for insert 
 as
 declare @sql varchar(8000)
 declare @cmdval varchar(8000)
 set @cmdval='"select * from test2.dbo.test"'
 SELECT @sql = 'bcp '+@cmdval+' queryout I:\File\mytest.txt -c -t -T -S YAMUNA\SQLEXPRESS'

适当的答案将是欣赏。

1 个答案:

答案 0 :(得分:0)

在同一个表的触发器中引用表永远不是一个好主意。如果您确实需要这样做,请尝试使用您可以在触发器中引用的inserted特殊表。也许将inserted中的数据插入到另一个表或全局临时表中,然后将该数据bcp输出。

但总的来说看起来仍然是一个坏主意。