Sql 我在创建触发器时出错
我创建一个表Sql 我在创建触发器时出错,sql,triggers,Sql,Triggers,我创建一个表 创建表employe(Eid int、Ename varchar(20)、City varchar(20)、名称varchar(20), 工资整数、津贴整数) 我想为它创建一个触发器,但出现了错误 create trigger ins_trig before insert on employe for each row begin update employe set salary=salary-300 where parks>2000; end; 错误是: Msg 102
创建表employe(Eid int、Ename varchar(20)、City varchar(20)、名称varchar(20),
工资整数、津贴整数)
我想为它创建一个触发器,但出现了错误
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'.
Msg 102,15级,状态1,程序启动,第1行
“before”附近的语法不正确。
我做错了什么?试试看
create trigger ins_trig on employe before insert
看一看试试看
create trigger ins_trig on employe before insert
查看一下您考虑过阅读手册吗?:您考虑过阅读手册吗?:假设您使用的是SQL Server,您可能需要:
create trigger ins_trig ON employe FOR insert
begin
update employe set salary=salary-300 where parks>2000
end;
假设您使用的是SQL Server,您可能需要:
create trigger ins_trig ON employe FOR insert
begin
update employe set salary=salary-300 where parks>2000
end;
尽管出现SQL Server错误消息,但您的代码不是SQL Server代码 不知道这是否有效,因为t-SQL中也没有“每行对应” 比如:
create trigger ins_trig on employe INSTEAD OF insert
AS
begin
update employe set salary=salary-300 where parks>2000;
end;
查看您的代码:
- 你听说过万圣节的问题吗
- 是公园还是福利
- 主键
create trigger ins_trig on employe INSTEAD OF insert
AS
begin
update employe set salary=salary-300 where parks>2000;
end;
查看您的代码:
- 你听说过万圣节的问题吗
- 是公园还是福利
- 主键