Kali ini saya akan share tentang bagaimana cara pembuatan
trigger pada SQL Server .
Pertama-tama tama kita buat dulu databasenya dengan perintah
biasa, yakni dengan mengcreate database, disini kita akan membuat database perpustakaan.
berikut perintah dalam pembuatan database dan masuk ke dalam database itu
sendiri.
Create database
perpustakaan;
Use perpustakaan;kemudian buat tabel dalam 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'
Tidak ada komentar:
Posting Komentar