Membuat
Trigger Dalam
Database SQL
Server 2008
Membuat database perpustakaan dengan nama
Perpustakaan.
create database
perpustakaan
use perpustakaan
Ø Membuat tabel
anggota perpustakaan
create table Anggota(
Id_Anggota
varchar(10) not null primary key,
Nama varchar(35),
Alamat varchar(35),
Tempat_Lahir
varchar(20),
Tgl_Lahir datetime ,
Jenis_Kelamin varchar(10),
Pekerjaan
varchar(20),
No_Telephone
varchar(15))
Ø Membuat tabel buku perpustakaan
create table Buku(
Id_Buku varchar(10) not null primary key ,
Judul
varchar(50),
Pengarang varchar(35),
Penerbit varchar(35),
Tahun_Terbit
varchar(10),
No_Rak varchar(10),
Jumlah_Buku int )
Ø Membuat tabel administrasi perpustakaan
create table Administrasi(
Id_Admin varchar(10) not null primary key,
Nama varchar(35),
Alamat varchar(35),
Tempat_Lahir
varchar(20),
Tgl_Lahir datetime ,
Jenis_Kelamin varchar(10),
No_Telephone
varchar(15))
Ø Membuat tabel transaksi pinjam dan
kembali buku perpustakaan
create
table pinjam(
Id_Pinjam varchar(10) not null primary key,
Id_Buku
varchar(10) constraint Id_Buku foreign
key (Id_Buku)
references
Buku(Id_Buku),
Id_Anggota
varchar(10) constraint Id_Anggota
foreign key
(Id_Anggota)
references
Anggota(Id_Anggota),
Id_Admin varchar(10) constraint Id_Admin foreign key
(Id_Admin)
references
Administrasi(Id_Admin ),
Jumlah_Pinjam int,
Tgl_Pinjam
datetime,
Tgl_Kembali datetime)
Sekarang kita akan mengisi table yang
telah kita buat.
Ø Input data tabel anggota perpustakaan
insert into Anggota values
('ANG-001','ADUL SUKIRMAN','JL.
SENTOSA NO.12
MEDAN','JAKARTA','1990-09-21','LAKILAKI','WIRASWASTA','061-6646982')
insert into Anggota values
('ANG-002','BUDI ANDUK','JL. MAKMUR
NO. 10 BELAWAN','MEDAN','1988-10-11' ,
'LAKI-LAKI',
'SUPIR','061-6643122')
insert into Anggota values ('ANG-003','CEPOT
PAIJO','JL.
MADIOSANTOSO NO.32 TITI
PAPAN','SUKABUMI','1991- 09-10','LAKILAKI','MAHASISWA','085212343590')
insert into Anggota values
('ANG-004','DONO SANGKURIA NG','JL.
KRAKATAU NO.18 MARELAN','MANDAILING
NATAL','1980-03-09','LAKILAKI', 'WARTAWAN','083129876578')
insert into Anggota values
('ANG-005','EDY SUPONO','JL.
PRAJURIT NO. 90 MARTUBUNG','ACEH',
'1989- 06- 05','LAKILAKI','BURUH PABRIK','061-6648976')
Ø Input data tabel buku perpustakaan
insert into Buku values
('BU-001','ALGORITMA DAN PEMROGRAMAN
C','RINALDI
MUNIR','INFORMATIKA','2003','R-02',15)
insert into Buku values
('BU-002','APLIKASI DATABASE VB.NET
DENGAN SQL SERVER','MUHAMMAD
RHIFKY','ANDI OFFSE T','2013','R-02',25)
insert into Buku values
('BU-003','BAHASA C DASAR','JOGIYANTO
PHD','ANDI OFFSET','2007','R-01',10)
insert into Buku values ('BU-004',
'MATEMATIKA DISKRIT',
'RINALDI
MUNIR','INFORMATIKA','2010','R-01',5)
insert into Buku values
('BU-005','VISUAL BASIC.NET
2010','PRIYANTO
HIDAYATULLAH','INFORMATIKA','2012','R-03',20)
Ø Input data tabel administrasi
perpustakaan
insert
into Administrasi values
('ADM-001','ENJELIA
AGUSTINA','JL. UMAR NO.34
MEDAN','MEDAN','1993-08-01','PEREMPUAN','085789844932')
insert
into Administrasi values
('ADM-002','GHASSANI
SYAFITRI','JL. BONO NO.58
MEDAN','BANDUNG', '1990- 01- 21',
'PEREMPUAN','085209878909')
insert
into Administrasi values ( 'ADM-
003', 'HENY
HANDAYANI', 'JL. MUSTAFA NO. 02
MEDAN','JAKARTA','1989-07-05','PEREMPUAN','082187564765')
insert
into Administrasi values ( 'ADM- 004', 'JONO SANTOSO',
'JL. MARELAN NO. 44
MEDAN','MEDAN','1992-04-09','LAKILAKI','083123454312')
insert
into Administrasi values ( 'ADM-
005', 'SUMARDI
ALFIANTO' , 'JL. MANDOR NO. 14
MEDAN','BOGOR','1990-09-28','LAKI-LAKI', '061-6648989')
Membuat trigger
Membuat trigger insert data anggota
create trigger trig_Anggota
on Anggota for insert
as
print
'Data Anggota Berhasil Ditambahkan'
Print
'Dimodifikasi : ' + CONVERT( VARCHAR ,
GETDATE())
Print
'Nama Host : ' + HOST_NAME()
insert into Anggota values ( 'ANG- 006',
'M. RHIFKY', 'JL. SENTOSA INDAH NO. 21
MEDAN', 'MEDAN', '1980- 06- 23' , 'LAKI-
LAKI', 'GURU' , '085763155905')
select * from Anggota
Membuat trigger insert data buku
create trigger trig_Buku
on Buku for insert
as
print 'Data Buku Berhasil Ditambahkan'
Print 'Dimodifikasi : ' + CONVERT(
VARCHAR , GETDATE())
Print 'Nama Host : ' + HOST_NAME()
insert
into Buku values ( 'BU - 006', 'SQL SERVER 2008' , 'PROF. WAYAHDI' ,
'ANDI
OFFSET', '2013' , 'R- 03' , 25)
select * from Buku
Membuat trigger insert data administrasi---
create trigger trig_Admin
on Administrasi for insert
as
print
'Data Admin Berhasil Ditambahkan'
Print 'Dimodifikasi : ' + CONVERT(
VARCHAR , GETDATE())
Print 'Nama Host : ' + HOST_NAME()
insert into Administrasi values (
'ADM- 006', 'PUSPITA SARI', 'JL. SETIA
BUDI NO.
43 MEDAN' , 'SEMARANG', '1993- 10- 01' ,
'PEREMPUAN' , '085743218989')
select * from Administrasi
Berhubung contoh dalam modul tidak bias di
buat pada SQLnya saya, maka saya mengganti dengan cara saya, tapi tujuannya
sama.
insert into pinjam
(Id_Pinjam,Id_buku,Id_Anggota,Id_Admin,Jumlah_Pinjam,Tgl_Kembali)
values ('PJM-
001','BU-005','ANG-001','ADM- 003', 1 , '2013- 08- 09');
insert into pinjam
(Id_Pinjam,Id_buku,Id_Anggota,Id_Admin,Jumlah_Pinjam,Tgl_Kembali)
values
('PJM-004','BU-002','ANG-004','ADM-002', 1 , '2013- 08- 20');
insert into pinjam
(Id_Pinjam,Id_buku,Id_Anggota,Id_Admin,Jumlah_Pinjam,Tgl_Kembali)
values
('PJM-005','BU-003','ANG-005','ADM-001', 2 , '2013-08-20');
create trigger Hapus_Data_Pinjam on
Pinjam
after delete
as
update Buku set
Buku. Jumlah_Buku = Buku. Jumlah_Buku +
deleted. Jumlah_Pinjam
from deleted where Buku. Id_Buku =
deleted. Id_Buku
print 'Data Pinjam Berhasil Dihapus'
print 'Jumlah Buku Pada Tabe Buku Juga
Berhasil Ter- Update'
Print 'Dimodifikasi : ' + CONVERT(
VARCHAR , GETDATE())
Print 'Nama Host : ' + HOST_NAME()
delete from Pinjam where Id_Pinjam=
'PJM- 003'
SELESAI