Database - TRIGGERS


Trigger is a special type of store procedure which will "fire"
automatically. Triggers are used to assess/evaluate data before or after data modification using DDL and DML statements.
3 main types of triggers are:
      1. Insert Trigger
      2. Update Trigger
      3. Delete Trigger

create table empsiva(empno int,ename varchar(20))
insert into empsiva values(1,'Vinoth')
insert into empsiva values(2,'Ranbhir')
insert into empsiva values(3,'Raju')
insert into empsiva values(4,'Kumar')

select *from empsiva
delete  from empsiva

'Insert Trigger'
     -trigger for insert statement

create trigger Emp_trs
on empsiva
for insert
As
if (select count(*) from empsiva a, inserted b where a.empno= b.empno)>1
Begin

      Print ' Employee No. Already Exist'
    rollback Transaction
End

   -a trigger emp_trns is created above.it executes automatically when an
insert statement is executed for that table.

insert into empsiva values(4,'karthik')

insert into empsiva values(5,'sachin')


drop trigger emp_trs

the above program does not allow duplicate values to be inserted.


'Delete Trigger'

create table empsiva1(empno int,ename varchar(20))
insert into empsiva1 values(1,'siva')
insert into empsiva1 values(2,'Ranbhir')
insert into empsiva1 values(3,'Imrankhan')
insert into empsiva1 values(4,'Karthik')



Create trigger emp_tr_del
on empsiva
for delete
as
declare @rowdel integer
select @rowdel  = count(*) from deleted
if @rowdel > 1
      Begin
            print 'More Than One Record Can not be deleted'
            Rollback Transaction
      End
else
      Begin
            print ' Record deleted Successfully'
           
      End
select * from empsiva1
delete from empsiva1 where empno=2
drop trigger emp_tr_del      

the above program does not allow to delete.

'Update Trigger'

create table empsiva2(empno int,ename varchar(20))
insert into empsiva2 values(1,'siva')
insert into empsiva2 values(2,'Ranbhir')
insert into empsiva2 values(3,'Imrankhan')
insert into empsiva2 values(4,'Karthik')

Create trigger emp_tr_upds
on empsiva2
for update
as
if update(empno)
Begin

      Print ' Employee No Can not be Modified'
      Rollback Transaction
End

update empsiva2 set empno = 2  where ename = 'siva'
update empsiva2 set ename = 'Jerome'  where empno= 2
select * from empsiva2

drop trigger emp_tr_ins
drop trigger emp_tr_del

the above program does not allow the table to update.

Comments

Popular posts from this blog

How to set Java Object into JaxBElement ?

GitLab