0% menganggap dokumen ini bermanfaat (0 suara)
66 tayangan

Modul III Trigger

Modul ini membahas penggunaan SQL lanjutan seperti set, stored procedure, subquery, union, dan trigger. Terdapat contoh-contoh penggunaan SQL lanjutan beserta penjelasannya. Mahasiswa diminta untuk membuat stored procedure dan trigger berdasarkan soal yang diberikan.
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
66 tayangan

Modul III Trigger

Modul ini membahas penggunaan SQL lanjutan seperti set, stored procedure, subquery, union, dan trigger. Terdapat contoh-contoh penggunaan SQL lanjutan beserta penjelasannya. Mahasiswa diminta untuk membuat stored procedure dan trigger berdasarkan soal yang diberikan.
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 8

MODUL III TAMBAHAN MATERI SQL LANJUTAN

Oleh : I WAYAN DEBY CAKRA WINDARTA JURUSAN AKUNTANSI UNIVERSITAS NEGERI SURABAYA

ATURAN 1. MODUL INI DIGUNAKAN UNTUK PERTEMUAN KEENAM PERKULIAHAN DATABASE DAN PEMROGRAMAN. 2. MAHASISWA DAPAT MENGGUNAKAN BERBAGAI MACAM REFERENSI TERMASUK BOOKS ONLINE YANG DISEDIAKAN OLEH MICROSOFT PADA SITE HTTP://WWW.MICROSOFT.COM/EN-US/DOWNLOAD/DETAILS.ASPX?ID=4152 3. IKUTILAH SELURUH LANGKAH-LANGKAH DIBAWAH INI DENGAN MEMBACA SECARA PERLAHAN. SELAMAT MENCOBA

MATERI PENGGUNAAN SET DAN DECLARE Perintah declare digunakan untuk mendefinisikan suatu variable dan set digunakan untuk mengisi data pada variabel yang di declare. Contoh penggunaan declare @kode char(10) set @kode='111111111' as coba select @kode dan tampilannya adalah

PENGGUNAAN STORED PROCEDURE Stored procedure adalah kumpulan perintah pada yang ada pada database SQL. Format pembuatan stored procedure adalah CREATE { PROC | PROCEDURE } [schema_name.] procedure_name [ ; number ] [ { @parameter [ type_schema_name. ] data_type } [ VARYING ] [ = default ] [ OUT | OUTPUT ] ] [ ,...n ] [ WITH <procedure_option> [ ,...n ] ] [ FOR REPLICATION ] AS { <sql_statement> [;][ ...n ] | <method_specifier> } Untuk dapat menjalankan stored procedure dapat dilakukan dengan perintah exec nama_stored_procedure. Untuk mengubah stored procedure dapat dilakukan dengan perintah Alter nama_stored_procedure Stored Procedure akan banyak anda gunakan dalam praktek pemrograman dalam delphi nanti sehingga anda diwajibkan untuk dapat memahami dalam perancangan dan penggunaan stored procedure secara baik. Contoh penggunaan stored procedure 1. Stored procedure untuk menampilkan data karyawan create procedure tdatakaryawan as select * from mkaryawan untuk memanggil stored procedure dapat dengan perintah exec tdatakaryawan

tampilan dari hasil pemanggilan stored procedure

2. Merubah perintah stored procedure tdatakaryawan alter procedure tdatakaryawan as select kodekar, namakar, status from mkaryawan dan jalankan dengan perintah exec tdatakaryawan tampilan dari hasil pemanggilan stored procedure

3. Stored procedure untuk menampilkan data karyawan dengan kriteria tertentu Dalam kasus ini kriteria tertentu adalah data karyawan berdasarkan inputan kode karyawan. create procedure tdatakaryawankhusus @kode char (4) as select kodekar, namakar, status from mkaryawan where kodekar=@kode perintah untuk memanggil stored procedure diatas adalah dengan exec tdatakaryawankhusus k-01 (DIISIKAN INPUTAN KARENA ITU MERUPAKAN KRITERIA DARI PEMANGGILAN DATA) tampilan dari hasil pemanggilan stored procedure

4. Stored procedure untuk menampilkan nostruk, tanggal transaksi, kode persediaan, nama persediaan, harga jual, diskon penjualan antara tanggal 01/01/2009 sampai dengan 12/01/2009 dan nama persediaannya adalah yang berkaitan dengan kata Pria . create procedure tdjualbaju @tglawal datetime, @tglakhir datetime, @nama varchar(10) as select @nama='% '+rtrim(@nama)+' %'; select a.nostruk, a.tglstruk, b.kodeper, c.namaper, b.hjual, b.hjual*b.qty*b.diskon/100 as diskon from tpenjualan a inner join tdetpenjualan b on a.nostruk=b.nostruk inner join mpersediaan c on b.kodeper=c.kodeper where c.namaper like @nama and a.tglstruk between @tglawal and @tglakhir Perintah untuk memanggil stored procedure exec tdjualbaju '01/01/2000','01/01/2010','Pria' tampilan dari hasil pemanggilan stored procedure

5. Stored procedure untuk menyimpan data karyawan create procedure tambahkaryawan @kodek char (4),@nama varchar (50), @tgl datetime, @status char (1) as insert into mkaryawan values(@kodek,@nama,@tgl,@status) perintah memanggil stored procedure exec tambahkaryawan 'c-01','nama coba baru','01/01/2011','1' tampilan dari hasil pemanggilan stored procedure (1 row(s) affected) Hasil dapat di cek melalui perintah Select * from mkaryawan

Tugas buatlah prosedur atas semua transaksi di soal Quis Soal A. UNION Union digunakan untuk menggabungkan beberapa query. Beberapa aturan Union : 1. Query-query yang akan digabungkan harus mempunyai banyak kolom yang sama, urutan kolom yang sama dan tipe data yang mirip. 2. Jika memakai klausa INTO pada salah satu query, maka harus meletakkan query tersebut sebagai query yang pertama. 3. Klausa Group By dan Having dapat digunakan pada query individual. 4. Klausa order by dan compute hanya diperbolehkan pada akhir operator UNION, untuk mendefinisikan urutan dari hasl akhir atau untuk menghitung nilai akhir. Contoh penggunaan : Anda ingin menampilkan jumlah barang yang laku di pasaran pada tanggal '01/01/2009' dan '09/01/2009' dan terdapat kata Bali, Yogya dan Malang

SUBQUERY Subquery adalah sebuah pernyataan perintah SELECT dalam perintah query lainnya. Bentuk umum subquery adalah Select nama_field from nama_tabel dan untuk tambahan perintah where yaitu : WHERE expression [NOT] IN (subquery) WHERE expression comparison_operator [ANY | ALL] (subquery) WHERE [NOT] EXISTS (subquery) Beberapa contoh pemakaian subquery

1. Tampilkan data terkait dengan informasi data barang yang hbeli diatas sama dengan persediaan yang bernama Gelang Putih. select * from mpersediaan where hbeli =(select hbeli from mpersediaan where namaper like 'Gelang Putih') cara query bekerja 1. Dapatkan informasi hbeli melalui select select hbeli from mpersediaan where namaper like 'Gelang Putih' 2. Gunakan informasi hbeli melalui perintah select * from mpersediaan where hbeli=xx(informasi dari query pertama)

2. Tampilkan data terkait dengan informasi data terkait dengan kasir mana saja yang pernah melakukan transaksi dengan banyaknya transaksi sama dengan kasir bernama cumi

Asumsi modul ini adalah anda melakukan manipulasi satu data yaitu transaksi ke dua di penjualan untuk di ganti kodekar nya menjadi k-03 sehingga yuda secara jumlah sama dengan cumi. Ini hanya untuk mempermudah contoh saja. TRIGGER Pengertian Trigger Trigger merupakan sekumpulan perintah yang dapat dijalankan otomatis pada sebuah tabel yang berakibat perubahan data pada tabel lainnya. Sebagai contoh adanya proses insert padatabel penjualan yang akan berimbas adanya update pada tabel persediaan. Atau contoh yang lebih jelas, adanya transaksi penjualan buku berjudul SQL sebanyak 10 akan langsung mengurangi data persediaan SQL. Trigger memakai dua tabel maya yaitu inserted dan deleted untuk mendeteksi modifikasi data. Tabel maya inserted digunakan untuk menyimpan data baru atau data hasil modifikasi. Sedangkan tabel maya deleted digunakan untuk menyimpan data yang telah dihapus. Merancang Trigger CREATE TRIGGER [ schema_name . ]trigger_name ON { table | view } [ WITH <dml_trigger_option> [ ,...n ] ] { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] } [ WITH APPEND ] [ NOT FOR REPLICATION ] AS { sql_statement [ ; ] [ ,...n ] | EXTERNAL NAME <method specifier [ ; ] > }

Trigger Insert Sebagai contoh terdapat dua tabel sederhana yaitu tabel persediaan dan jual. Tabel persediaan berisi data persediaan dan tabel jual berisi data jual dengan asumsi satu penjualan untuk satu persediaan. Pertama kali lakukan create database dengan nama cobatrigger dan buatlah tabel persediaan dengan perintah Create table mper (kodebarang char(2) not null, namabarang varchar(50), jumlah int not null) Create table tjual (nojual char(5) not null, kodebarang char(2) not null, banyak int not null) Selanjutnya masukan data persediaan pada tabel mper. Langkah berikutnya anda membuat perintah trigger berikut ini. create trigger ubahjual on tjual for insert as select kodebarang, banyak from inserted update mper set jumlah=jumlah-banyak from inserted where mper.kodebarang=inserted.kodebarang untuk menguji trigger anda maka lakukan insert data dengan perintah berikut ini. Insert into tjual values (12345,ab,5) Selanjutnya cek data anda pada tabel mpersediaan. TUGAS ANDA ADALAH BUATLAH TRIGGER PADA DATABASE PENJUALAN_KELAS_NIM Trigger Delete Trigger insert mirip dengan tabel insert. create trigger deletejual on tjual for delete as select kodebarang, banyak from deleted update mper set jumlah=jumlah+banyak from deleted where mper.kodebarang=deleted.kodebarang untuk menguji trigger anda maka lakukan delete data dengan perintah berikut ini. delete from tjual where nojual='12345' Selanjutnya cek data anda pada tabel mpersediaan. TUGAS ANDA ADALAH BUATLAH TRIGGER PADA DATABASE PENJUALAN_KELAS_NIM

Anda mungkin juga menyukai