首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

SQL话语创建触发器

2013-07-04 
SQL语句创建触发器if not exists (select 1 from sysobjects where name触发器名)create trigger ......

SQL语句创建触发器
if not exists (select 1 from sysobjects where name=触发器名)
create trigger ......

这种写法为什么不行????

语法方面我有什么错误码??  SQL select
[解决办法]
语法要求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

热点排行