我创建了一个表
create table employe(Eid int,Ename varchar(20),City varchar(20),Designation varchar(20),
Salary int,perks int)
我想为它创建一个触发器,但我收到了错误
create trigger ins_trig before insert on employe
for each row
begin
update employe set salary=salary-300 where parks>2000;
end;
错误是:
Msg 102, Level 15, State 1, Procedure ins_trig, Line 1 Incorrect syntax near 'before'.
我做错了什么?
答案 0 :(得分:1)
答案 1 :(得分:1)
您是否考虑过阅读手册?:CREATE TRIGGER
答案 2 :(得分:1)
尽管存在SQL Server错误消息,但您的代码不是SQL Server代码。
不知道这是否有效,因为T-SQL中没有“for each row”
类似的东西:
create trigger ins_trig on employe INSTEAD OF insert
AS
begin
update employe set salary=salary-300 where parks>2000;
end;
查看您的代码:
答案 3 :(得分:0)
假设您正在使用SQL Server,您可能需要这样:
create trigger ins_trig ON employe FOR insert
begin
update employe set salary=salary-300 where parks>2000
end;