1. STORED PROCEDURE
1.1 PENGERTIAN
Stored Procedure adalah kumpulan perintah SQL yang diberi nama dan disimpan di server. Stored Procedure biasanya berisi perintah-perintah umum yang berhubungan dengan database pada server, dan menghasilkan sekumpulan record. Stored Procedure ditulis dalam bentuk sebuah script. Dalam SQL Server store procedure memiliki kemampuan antara lain :
· Menerima parameter input dan mengembalikan beberapa nilai parameter output dari procedure yang dipanggil.
· Mengandung statement pemrograman yang melakukan operasi terhadap database termasuk memanggil store procedure lain.
· Memberikan status yang mengindikasikan keberhasilan atau kegagalan eksekusi store procedure
Kegunaan pembuatan stored procedure pada SQL Server :
1. Stored procedure dapat digunakan untuk memanipulasi data.
2. Melakukan sebuah pekerjaan (job) secara otomatis.
3. Melakukan perawatan (maintenance) secara otomatis.
Keuntungan pemakaian store procedure adalah :
· Merupakan pemrograman modular
· Store procedure dibuat sekali dan dapat dipakai berulang untuk komputasi yang sama
· Memungkinkan eksekusi lebih cepat
Ketika pertama kali dijalankan store procedure akan tersimpan dalam memori. Sehingga memungkinkan eksekusi berikutnya lebih cepat.
· Mengurangi trafik jaringan
Barisan kode transact SQL yang seharusnya dilewatkan jaringan, akan digantikan dengan statement tunggal pemanggilan store procedure.
· Dapat digunakan sebagai mekanisme sekuriti
Pengguna dimungkinkan mengeksekusi Store procedure, walau mungkin tidak dapat mengeksekusi procedure didalamnya secara langsung.
Tipe Stored Procedure
· System Stored Procedure:
o Nama dimulai dengan sp_ atau xp_ (extended stored procedur akan dihilangkan)
o Dibuat dalam database master
o Tujuannya untuk pengaplikasian dalam database apapun
o Sering digunakan oleh sysadmin
Local Stored Procedure:
- Ditetapkan di database lokal
- Nama sering dimulai dengan pr_ atau usp
- Tanpa prefix
- Sesuaikan dengan yang ada di aplikasi (misal menggunakan object/komponen seperti ORM)
- Bagaimana Cara membuat Stored Procedure?
- Kerangka sederhana Store Procedure
CREATE PROC procedure_name
[ { @parameter data_type } ]
AS sql_statement
Store Procedure terdiri dari:
1. Statemen CREATE PROC {PROCEDURE}
2. Nama Procedure;
3. Parameter list
4. SQL statement.
Perintah Dalam stored procedure terdiri dari :
· Menapilkan data (SELECT)
· Menambah data (INSERT)
· Mengubah data (UPDATE)
· Menghapus data (DELETE)
1.2 Klausa Dalam Stored Procedure
· Delimiter , digunakan untuk memberi tahu kepada myql soal delimiter yang digunakan, secara default menggunakan ; jadi bila ada tanda ; mysql akan mengartikan akhir dari statement, pada contoh di atas delimeter yang digunakan $$ jadi akhir statementnya adalah $$ .
· Create Procedure , adalah header untuk membuat store procedure .
· Begin – End , adalah body dari store procedure, jadi semua SQL nya di tulis disini.
Parameter digunakan dalam stored procedure terdiri dari 3 jenis
Paremeter IN
Digunakan hanya untuk input saja. Jika parameter ini dirubah nilainya, maka tidak akan mempengaruhi nilai variabelnya setelah stored procedure dieksekusi
Parameter OUT
Digunakan untuk mengeluarkan hasil proses dalam store procedure agar bisa diterima diluar procedure
Parameter INOUT
Dapat mengirim dan menerima nilai variabel.
2. TRIGGER
2.1 PENGERTIAN
Trigger adalah sebuah objek database yang diasosiasikan dengan sebuah tabel dan akan aktif apabila sebuah event terjadi pada tabel tersebut.
Kegunaan Trigger
· Dapat menyimpan data suatu record ke tabel lain sebelum data tersebut di update, di delete atau di insert.
· Menyederhanakan pemrograman karena dapat secara otomatis dilaksanakan dalam server.
· Dapat memberikan nilai default.
Sintak penulisan trigger berisi komponen berikut
· Before digunakan jika trigger dijalankan sebelum DML event pada tabel.
· After maksudnya trigger dijalankan setelah DML event pada tabel.
· Instead of digunakan jika trigger dijalankan pada sebuah view.
Tipe Trigger
· Statement, trigger dijalankan sekali saja pada saat terjadi sebuah event. Statement trigger juga dijalankan sekali, meskipun tidak ada satupun baris yang dipengaruhi oleh event yang terjadi.
· Row, trigger dijalankan pada setiap baris yang dipengaruhi oleh terjadinya sebuah event. Row trigger tidak dijalankan jika event dari trigger tidak berpengaruh pada satu baris pun.
Perintah Dalam Trigger
Insert, memasukkan data baru pada tabel tertentu
Update, merubah isi kolom terentu pada suatu tabel
Delete, menghapus data pada tabel tertentu
2.2 Klausa Dalam Trigger:
Delimiter, digunakan untuk memberi tahu sql tentang delimiter yang kita gunakan.
When, digunakan untuk kondisi pembatasan pada trigger.
Replace, digunakan untuk mengganti trigger jika trigger yang dibuat telah tersedia / ada.
Begin – end, digunakan untuk memulai dan mengakhiri trigger body (bagian prosedur yang dituliskan pada trigger.
New, digunakan untuk mendapatkan data baru pada sebuah tabel
Old, digunakan untuk mendapatkan data lama pada sebuah tabel
Tulisan yang bagus dan sangat bermanfaat, terimakasih sudah share, saya tunggu tulisan berikutnya mengenai stored procedure (saya bayangkan mungkinkah dalam stored procedure ada statement if then else atau switch case dll ?)
BalasHapusTerimah kasih.... sepertinya klw yg sperti itu bsa
BalasHapustapi saya sndi blm mncobanya :)