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

Sqlserver多表增添相同触发器

2013-10-12 
Sqlserver多表添加相同触发器如标题,我有多个表,结构都相同,都需要添加相同的触发器,有没有不单个定义,一

Sqlserver多表添加相同触发器
如标题,我有多个表,结构都相同,都需要添加相同的触发器,有没有不单个定义,一劳永逸的方法??求虾们?? sqlserver
[解决办法]
DML触发器是表级的,而且一次定义的话即使有,估计编写也超复杂,最起码表名方面你要全部写。我觉得如果结构完全相同,你插入数据的时候insert语句复制粘贴几次更好,不过最好封装成一个存储过程来实现
[解决办法]
先设计一个函数,传入table name,然后可以帮你生成一个产生trigger的T-SQL语句。
再去批量生成吧。
[解决办法]


create proc fc_test @tablename varchar(10)
as begin
declare @sql varchar(max)
if object_id(@tablename) is  null
return 
else
begin
set @sql='
create trigger tr_test
on ' +@tablename+'
after insert
as begin 
select 1
end'
exec(@sql)
end
end

这是我写的简单的,测试通过。

热点排行