Rakesh NEGI
Rakesh NEGI

Reputation: 11

i get error in creating trigger

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

Answers (4)

gbn
gbn

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:

  • have you heard of the Halloween problem?
  • is it parks or perks?
  • primary key?

Upvotes: 1

Gabe
Gabe

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

Mitch Wheat
Mitch Wheat

Reputation: 300499

Have you considered reading the manual?: CREATE TRIGGER

Upvotes: 1

Adriaan Stander
Adriaan Stander

Reputation: 166346

Try

create trigger ins_trig on employe before insert 

Have a look at CREATE TRIGGER (Transact-SQL)

Upvotes: 1

Related Questions