你delete和insert会触发两个触发器的!!它们是彼此独立的!你要把他们联系起来的话只有!你可以用全局临时表来达到目的!
例如:
create trigger td_line for delete
if ... and object_id('tempdb..##全局临时表') is null
select * into ##全局临时表 from deleted update test set 状态 = '删除' where id = deleted.idcreate trigger ti_line for insert
if ... and object_id('tempdb..##全局临时表') is not null
update test set 状态 = '更新' where id = inserted.id
else
update test set 状态 = '插入' where id = inserted.id---你要根据你的实际情况来做!
例如:
create trigger td_line for delete
if ... and object_id('tempdb..##全局临时表') is null
select * into ##全局临时表 from deleted update test set 状态 = '删除' where id = deleted.idcreate trigger ti_line for insert
if ... and object_id('tempdb..##全局临时表') is not null
update test set 状态 = '更新' where id = inserted.id
else
update test set 状态 = '插入' where id = inserted.id---你要根据你的实际情况来做!
解决方案 »
- 分组显示问题
- 存储过程里面我要把字符串名称"Progress32"拆分出来一个数字3,一个数字2.怎么弄?
- 数据库登录 --sql2005
- SQL语句group by不支持ntext类型啊
- update table set substring(com ,6,4)='2004' where ........ 提示出错
- 多个数据库从一个主数据库中同步数据的问题?
- 如何删除
- 請問在sql server2000存儲過程的屬性窗口怎樣設置一個TAB鍵的大小(空格數),注意:不是在查詢分析器中。
- 能在存储过程实现vb中split函数功能,把字符串分成数组然后遍历吗?
- 求助:SEL 2014导入EXCEL文本时,目标位置错误
- 关于数据库存取图片,请指教
- 数据库报表生成的效率问题
用临时表做,不能保证一个临时表里的东西就是这个ID的东东,到时候还要做一个procedure,把ID作为参数,还是保证不了事务。