Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 3

Kegiatan Mandiri Modul 12

1. Trigger Changetype(Insert,Update,Delete)


--Insert Trigger Mahasiswa
CREATE TRIGGER Tr_Changetype_Insert_Mahasiswa
ON Mahasiswa
FOR INSERT
AS
BEGIN
SET NOCOUNT ON

DECLARE @NIM AS char(9)


DECLARE @Nama AS varchar(50)
DECLARE @Alamat AS varchar(50)
DECLARE @Jurusan AS char(3)
DECLARE @Semester AS Int
DECLARE @Date datetime
DECLARE @NamaTabel varchar(255) = 'Mahasiswa'

SET @Date = GETDATE()


SELECT @NIM = NIM, @Nama = Nama, @Alamat = Alamat, @Jurusan = Jurusan, @Semester = Semester
FROM inserted
INSERT INTO TABLE_LOG VALUES('Insert', @Date, @NamaTabel)
END

INSERT INTO Mahasiswa


VALUES('180210445','Lovelin','Simalingkar A','MI',2)

--Delete Trigger Mahasiswa


CREATE TRIGGER Tr_Changetype_Delete_Mahasiswa
ON Mahasiswa
FOR DELETE
AS
BEGIN
SET NOCOUNT ON

DECLARE @NIM AS char(9)


DECLARE @Nama AS varchar(50)
DECLARE @Alamat AS varchar(255)
DECLARE @Jurusan AS char(3)
DECLARE @Semester AS Int
DECLARE @Date datetime
DECLARE @NamaTabel varchar(255) = 'Mahasiswa'

SET @Date = GETDATE()


SELECT @NIM = NIM, @Nama = Nama, @Alamat = Alamat, @Jurusan = Jurusan, @Semester = Semester
FROM deleted
INSERT INTO TABLE_LOG VALUES ('Delete', @Date, @NamaTabel)
END

DELETE FROM Mahasiswa


WHERE NIM = 180210326
--Update Trigger Mahasiswa
CREATE TRIGGER Tr_Changetype_Update_Mahasiswa
ON Mahasiswa
FOR UPDATE
AS
BEGIN
SET NOCOUNT ON

DECLARE @NIM AS char(9)


DECLARE @Nama AS varchar(50)
DECLARE @Alamat AS varchar(255)
DECLARE @Jurusan AS char(3)
DECLARE @Semester AS Int
DECLARE @Date datetime
DECLARE @NamaTabel varchar (255) = 'Mahasiswa'

SET @Date = GETDATE()


SELECT @NIM = NIM, @Nama = Nama, @Alamat = Alamat, @jurusan = Jurusan, @Semester = Semester
FROM inserted
INSERT INTO TABLE_LOG VALUES ('Update', @Date, @NamaTabel)
END

DROP TRIGGER Tr_Changetype_Update_Mahasiswa

UPDATE Mahasiswa
SET Nama = Lovelin', Alamat = 'Simalingkar A'
WHERE NIM = 160210345

--Insert Trigger Dosen


CREATE TRIGGER Tr_Changetype_Insert_Dosen
ON Dosen
FOR INSERT
AS
BEGIN
SET NOCOUNT ON

DECLARE @NID AS char(9)


DECLARE @NamaDosen AS varchar(50)
DECLARE @Date datetime
DECLARE @NamaTabel varchar(255) = 'Dosen'

SET @Date = GETDATE()


SELECT @NID = NID, @NamaDosen = Nama_Dosen FROM inserted
INSERT INTO TABLE_LOG VALUES('Insert', @Date, @NamaTabel)
END

INSERT INTO Dosen


VALUES(45001038,'William')

--Delete Trigger Dosen


CREATE TRIGGER Tr_Changetype_Delete_Dosen
ON Dosen
FOR Delete
AS
BEGIN
SET NOCOUNT ON

DECLARE @NID AS char(9)


DECLARE @NamaDosen AS varchar(50)
DECLARE @Date datetime
DECLARE @NamaTabel varchar(255) = 'Dosen'

SET @Date = GETDATE()


SELECT @NID = NID, @NamaDosen = Nama_Dosen FROM deleted
INSERT INTO TABLE_LOG VALUES('Delete', @Date, @NamaTabel)
END

DELETE FROM Dosen


WHERE NID = 45001038

--Update Trigger Dosen


CREATE TRIGGER Tr_Changetype_Update_Dosen
ON Dosen
FOR UPDATE
AS
BEGIN
SET NOCOUNT ON

DECLARE @NID AS char(9)


DECLARE @NamaDosen AS varchar(50)
DECLARE @Date datetime
DECLARE @NamaTabel varchar(255) = 'Dosen'

SET @Date = GETDATE()


SELECT @NID = NID, @NamaDosen = Nama_Dosen FROM inserted
INSERT INTO TABLE_LOG VALUES('Update', @Date, @NamaTabel)
END

UPDATE Dosen
SET NID = 45001032
WHERE Nama_Dosen = 'Andri'

You might also like