You are on page 1of 3

----------------------------------------------------------------------------

create trigger ftrigger


on dbo.emp
for insert
as
begin
print 'Data inserted successfully'
end
insert into emp values (101, 'AAA', 25000, 'Manager',10)
--------------------------------------------------------------------------------
create trigger day_trigger
on dbo.emp
as
-------------------------------------------------------------------------
create trigger stopupdatetrig
on dbo.emp
for insert
as
begin
if datename(dw, getdate())
in ('Saturday', 'Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Friday')
begin
rollback transaction
print 'We do not allow changes to be made'
end
end
insert into emp values (101, 'AAA', 25000, 'Manager',10)
--------------------------------------------------------------------------------
-
create TRIGGER time_Trigger1
ON dbo.emp
FOR insert
AS
BEGIN
declare @EarlyTime datetime,
@EarlyTime1 datetime,
@LateTime datetime,
@LateTime1 datetime,
@todays_date varchar(25)
set @todays_date = CONVERT(varCHAR(25),GETDATE(),110)
set @EarlyTime = Convert(datetime, @todays_date + ' 09:00:00.000')
set @EarlyTime1 = Convert(datetime, @todays_date + ' 12:00:00.000')
set @LateTime = Convert(datetime, @todays_date + ' 15:00:00.000')
set @LateTime1 = Convert(datetime, @todays_date + ' 18:00:00.000')
if
getdate()not between ('@EarlyTime' and '@Latetime') and ('@EarlyTime1' and '@Lat
eTime1')
ROLLBACK
print'sorry no access!!'
END
insert into emp values (101, 'AAA', 25000, 'Manager',10)
--------------------------------------------------------------------------------
------------
No.of Employees check:
--------------------------------------------------------------------------------
------------
select * from emp
create trigger dbo.first_trigger
on dbo.emp
for insert
as
begin
declare @cnt int
select @cnt = count (*) from emp
if @cnt>5
begin
rollback transaction
end
end
insert into emp values (101, 'AAA', 25000, 'Manager',10)
--------------------------------------------------------------------------------
create trigger first1
on dbo.emp
for insert
as
begin
declare @sal int
select @sal = sal from inserted
print 'sal'+str(@sal)
if @sal > 15000
begin
rollback transaction
end
end
insert into emp values (120,'ZZZ', 25000, 'Manager',10)
insert into emp values (121,'YYY', 2000, 'Manager',10)
--------------------------------------------------------------------
Student and student history: deleting frm master and
getting saved into history table
----------------------------------------------------------------------
select * from student_master
select * from stud_history
create trigger student_mast
on dbo.student_master
for delete
as
begin
declare @roll int, @stud_name varchar (20), @stud_age int
select @roll = rollnum from deleted
select @stud_name = sname from deleted
select @stud_age = age from deleted
insert into stud_history values (@roll, @stud_name, @stud_age)
end
delete from student_master
--------------------------------------------------------------------------------
--
Another way for above prog:
--------------------------------------------------------------------------------
--
create trigger deltrg
on dbo.student_master
for delete
as
begin
insert into stud_history
select * from deleted
end
select * from stud_history

You might also like