Reputation: 11
I create a table
create table employe(Eid int,Ename varchar(20),City varchar(20),Designation varchar(20),
Salary int,perks int)
i want to create a trigger for it but i got error
create trigger ins_trig before insert on employe
for each row
begin
update employe set salary=salary-300 where parks>2000;
end;
The error is:
Msg 102, Level 15, State 1, Procedure ins_trig, Line 1 Incorrect syntax near 'before'.
What am I doing wrong?
Upvotes: 0
Views: 3113
Reputation: 432200
Your code is not SQL Server code despite a SQL Server error message.
Don't know if this works because there is no "for each row" in T-SQL either
Something like:
create trigger ins_trig on employe INSTEAD OF insert
AS
begin
update employe set salary=salary-300 where parks>2000;
end;
Looking at your code:
Upvotes: 1
Reputation: 86708
Assuming you're using SQL Server, you probably want this:
create trigger ins_trig ON employe FOR insert
begin
update employe set salary=salary-300 where parks>2000
end;
Upvotes: 0
Reputation: 166346
Try
create trigger ins_trig on employe before insert
Have a look at CREATE TRIGGER (Transact-SQL)
Upvotes: 1