0% found this document useful (0 votes)
17 views3 pages

SQL 15

The document discusses triggers in SQL. Triggers are stored procedures that fire automatically when data is inserted, updated or deleted from a table via DML statements. The document provides the syntax for creating triggers and examples of insert, update and delete triggers. It also shows how to use triggers to log changes to an audit table.

Uploaded by

Pooja Rajurkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views3 pages

SQL 15

The document discusses triggers in SQL. Triggers are stored procedures that fire automatically when data is inserted, updated or deleted from a table via DML statements. The document provides the syntax for creating triggers and examples of insert, update and delete triggers. It also shows how to use triggers to log changes to an audit table.

Uploaded by

Pooja Rajurkar
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

--Class15

--Trigger
--Triggers fired automatically , Once we perform any DML (INSERT,DELETE and UPDATE)
opeartion on table.
--Triggers are also known as special kind of store procedure.

--syntax:
--create trigger tr_Trigger_Name
--on TBALE_NAME
--for INSERT/DELETE/UPDATE
--as
--begin

--Trigger /SQL Statements

--END

select * from EMPLOYEE

insert into EMPLOYEE values (12,'Nitya',8800,'2012-08-12',400001)

--Insert trigger
create trigger tr_TEST_INSERT
on employee
for insert
as
begin

select * from inserted

end

--NOTE:
--INSERTED/DELETED table is special kind of table which is available within the
context of trigger.
--select * from inserted/deleted

--1.It returns exactly the same copy or replica on which table we are creating a
trigger.
--2.Structure of inserted/deleted table within the context of trigger is identical
or same on which table trigger is created.

--Before creating trigger if we insert data into table then


insert into emp values (6,'sheena','Sangali')

--After creating insert trigger if we insert data then it will execute the same SQL
statement which is present within the context of trigger.
insert into emp values (7,'Damini','Mumbai')

insert into emp values (8,'Mohini','Yavatmal'),(9,'Ragini','Delhi')

select * from emp

--DELETE trigger
create trigger tr_TEST_DELETE
on EMPLOYEE
for delete
as
begin
select * from deleted

end

delete from EMPLOYEE where EID > 4

--before delete trigger if we delete


delete from emp where EID =9

--After creating delete trigger then


delete from emp where EID =8

--Update trigger
--update = delete then INSERT

create trigger tr_TEST_UPDATE


on employee
for update
as
begin

select * from deleted


select * from inserted
end

select * from EMPLOYEE

update EMPLOYEE SET EMP_SAL =10000 where EID = 4

select * from EMPLOYEE

update emp set EMP_NAME = 'virat' where EID =6

--We can drop trigger


drop trigger tr_TEST_UPDATE

--By using trigger we will store information in table about insert,delete and
update.
create table AuditInfo(ID int identity , AuditInfo Varchar(300))

--create a trigger for inserted records


Create trigger tr_Inserted
on employee
for insert
as
begin

declare @eid int


select @eid =EID from inserted

insert into AuditInfo values (CAST(@eid as varchar(4)) + ' '+ 'is INSERTED at ' + '
'+
cast(GETDATE() as varchar(20)))

END
select * from EMPLOYEE
select * from AuditInfo
insert into EMPLOYEE values (5,'Rphan',11000,'2020-09-02','411027')

delete from emp where EID =8

--create a Delete for Deleted records


Create trigger tr_Deleted
on employee
for delete
as
begin

declare @eid varchar


select @eid =EID from deleted

insert into AuditInfo values (@eid + ' '+ 'is DELETED at ' + ' '+ cast(GETDATE() as
varchar(20)))

END

select * from EMPLOYEE


select * from AuditInfo

delete from EMPLOYEE where EID >=4

--create a update trigger for updated records


Create trigger tr_updated
on employee
for update
as
begin

declare @eid varchar


select @eid =EID from inserted

insert into AuditInfo values (@eid + ' '+ 'is Updated at ' + ' '+ cast(GETDATE() as
varchar(20)))

END

select * from EMPLOYEE


select * from AuditInfo

update EMPLOYEE set ENAME = 'Ragini' where eid = 1

insert into emp values (6,'Jiya','Mumbai'),(7,'Riya','Hubali')


--Concern : updating/inserting/deleting multiple rows from a tbale but it recorded
only one instance into the table.

You might also like