SQL语句创建触发器
if not exists (select 1 from sysobjects where name=触发器名)
create trigger ......
这种写法为什么不行????
语法方面我有什么错误码??
------解决方案--------------------语法要求create trigger必须在一个TSQL执行批次的开头.
3楼写法的逻辑是,若存在则先删除,go语句之后再create trigger,执行没语法问题,且结果正确,不就OK了吗.
若是一定要按LZ思路的话,可以用动态SQL执行create trigger,但比较麻烦,如下.
if not exists(select 1 from sys.objects where type='TR' and name='[触发器名]')
begin
declare @tsql varchar(6000)
select @tsql='create trigger [触发器名] ...'
exec(@tsql)
end