06 Dea Harnita Trigger MI 3B
-
Upload
poltek-malang -
Category
Documents
-
view
1 -
download
0
Transcript of 06 Dea Harnita Trigger MI 3B
Dea Harnita | MI 3B | 1131140075
1. Pembuatan DatabaseNama Database : SampleDatabaseTable : Employee_Test dan Employee_Tes_Audit
2.a. After Insert Trigger
Trigger
Dea Harnita | MI 3B | 1131140075
f. Enable Trger
3. TRIGGER Sendiria. AFTER INSERT
--cobaALTER TRIGGER trgAfterInsert ON [dbo].[Employee_Test]FOR INSERTAS
declare @empid int;declare @empname varchar(100);declare @empsal decimal(10,2);declare @audit_action varchar(100);
select @empid=i.Emp_ID from inserted i;select @empname=i.Emp_Name from inserted i;select @empsal=i.Emp_Sal from inserted i;set @audit_action='Inserted Record -- After Insert Trigger.';
insert into Employee_Tes_Audit(Emp_ID,Emp_Name,Empl_Sal,Audit_Action,Audit_Timestamp)
Values(@empid,@empname,@empsal,@audit_action,getdate());
PRINT 'Setelah Insert Trigger.'GO
--after insertinsert into Employee_Test values('Dea',1400);
Trigger
Dea Harnita | MI 3B | 1131140075
b. INSTEAD UPDATEALTER TRIGGER trgInsteadDelete ON [dbo].[Employee_Test]INSTEAD OF UPDATEAS
declare @empid int;declare @empname varchar(100);
declare @empsal decimal(10,2);declare @audit_action varchar(100);
select @empid=d.Emp_ID from inserted d;select @empname=d.Emp_Name from inserted d;select @empsal=d.Emp_Sal from inserted d;
BEGINif(@empsal>1500)begin
Raiserror('Cannot update salary > 1500',16,1);ROLLBACK;
endelsebegin
Trigger
Dea Harnita | MI 3B | 1131140075
if update(Emp_Name)set @audit_action='update Record-- after update
trigger.';if update (Emp_Sal)set @audit_action='Update Record--After Update Record.';
COMMIT;
insert into Employee_Tes_Audit
(Emp_ID,Emp_Name,Empl_Sal,Audit_Action,Audit_Timestamp)Values(@empid,@empname,@empsal,'update-- instead of table
trigger.',getdate());
PRINT 'Record update -- Instead of update trigger.'end
endGO
--coba instead updateupdate Employee_Test set Emp_Sal=1500 where Emp_ID=12
Trigger