关于SQL Server中触发器
create trigger tri_test on Stuff
after update
referencing NEW AS table_after_update
OLD AS table_before_update
for each statement
begin
IF table_after_update.Position = 'Manager'
update Stuff set Salary = 5000
where StuffNum = table_after_update.stuffNum
else IF table_after_update.Position = 'Assistant'
update Stuff set Salary = 3000
where StuffNum = table_after_update.stuffNum
else IF table_after_update.Position = 'Supervisor'
update Stuff set Salary = 4000
where StuffNum = table_after_update.stuffNum
end
运行时提示出错
服务器: 消息 170,级别 15,状态 1,过程 tri_test,行 3
第 3 行: 'referencing' 附近有语法错误。
我不知道问题出在哪里?请教各位,顺便问一下正确的应该怎么写?
相关推荐
Sql Server触发器的使用
Sql Server为每个触发器都创建了两个专用表:Inserted表和Deleted表。这两个表由系统来维护,它们存在于内存中而不是数据库中。这两个表的结构总是与被该触发器作用的表的结构相同,触发器执行完成后,与该触发器相关的这两个表也被删除。 对表的操作 Inserted逻辑表 Deleted逻辑表 增加记录(insert) 存放增加的记录 无 删除记录(delete) 无 存放被删除的记录 修改记录(update) 存放更新后的记录 存放更新前的记录 三、for、after、instead of触发器 after:触发器在触发它们的语句完成后执行
Android---给方法自动添加带参数的注释的快捷键设置
1、File---Settings---keymap---在搜索框输入comment:2、右击Fix doc comment,选择Add Keyboard Shortcut添加快捷键:3、按住键盘上的Alt+X键(或者设置为你想设置的其它的快捷键),保存即可:4、原代码无注释:5、按刚刚设置好的快捷键Alt+X,代码上便会多出带参数的注释:...
SQL Server 触发器 表的特定字段更新时,触发Update触发器
代码如下: create trigger TR_MasterTable_Update on MasterTable after update as if update ([Type])–当Type字段被更新时,才会触发此触发器 insert into MasterLogTable select Id ,(Case [Type] when 1 then ‘Type1’ when 2 then ‘Type2’ when 3 then ‘Type3’ when 4 then ‘Type4’ else ‘TypeDefault’ end) ,Name from inserted go 另外再补充一句
SQL Server 触发器实例详解
Microsoft SQL Server:trade_mark: 2000 提供了两种主要机制来强制业务规则和数据完整性:约束和触发器。触发器是一种特殊类型的存储过程,它不同于之前的我们介绍的存储过程。触发器主要是通过事件进行触发被自动调用执行的。而存储过程可以通过存储过程的名称被调用。 Ø 什么是触发器 触发器对表进行插入、更新、删除的时候会自动执行的特殊存储过程。触发器一般用在check约束更加复杂的约束上面。触发器和普通的存储过程的区别是:触发器是当对某一个表进行操作。诸如:update、insert、delete这些操作的时候,系统会自动调用执行该表上对应的触发器。SQL Server 2005中触发
SQL server创建触发器实现级联删除
SQL server创建触发器实现级联删除


