NAMA/NIM : Ony Prabowo / 10.41010.0211
Dosen : Tan Amelia
Tugas : Materi Stored Procedures, Functions dan Trigger pada SQL Server
Pada pertemuan kali ini kita diberi tugas yaitu membuat tulisan tentang :
- Stored Procedure
- Function
- Trigger
Nah ,kita langsung saja ke TKP :D.
- Stored procedure
Yang pertama kita akan membahas tetang apa yang dimaksud dengan stored procedure! Sotred procedure adalah suatu subprogram atau sekelompok statemen Transact-SQL,yang tersimpan dan menyatu dalam suatu database. Stored Procedure dibuat dalam SQL Servel,bukan di komputer client,dan akan menyatu dengan suatu database dalam server.
Tujuan utama Transact-SQL (T-SQL) ini adalah untuk menyediakan sekumpulan tool prosedural untuk pengembangan database transaksional.T-SQL dapat digunakan dalam berbagai cara di SQL Server client atau aplikasi server. Contoh :
- T-SQL digunakan dalam ekspresi sebagai bagian dari perintah DML (insert,update,dan dalete) yang dikirimkan oleh proses klien
- T-SQL digunakan dalam sebuah kumpulan kode yang dikirimkan ke SQL-Server dari klien sebagai batch atau script
- Fungsi T-SQL digunakan juga dalam ekspresi dalam pemeriksaan constraint
- Kode T-SQL digunakan dalam batch juga yang satu paket dalam SQL-SERVER sebagai Stored Procedure,fungsi atau trigger
Nah serpertinya setelah membaca penjelasan saya diatas anda pasti mempunyai 1 pertanyaan atau pendapat!!saya tebak apa sih sebenarnya stored procedure itu?ya dibilang sama lah dengan T-SQL tersebut,wong isisnya nanti adalah sekelompok statemen T-SQL itu. Nanti akan ada pembahasan tentang itu.
Stored procedure dapat diakses program aplikasi object-object tertentu pada program aplikasi masing-masing. Stored procedure tersimpan dalam database dalam bentuk kode yang sudah terkompilasi sehingga prosesnya menjadi lebih cepat
KEUNTUNGAN STORED PROCEDURE
- Sebuah stored procedure dikompilasi dan leebih cepat dalam mengeksekusi batch atau query
- Memproses data lewat stored procedure dilakukan pada server sehingga mengurangi intensitas lalu lintas data network
- Stored procedure menawarkan pemrograman modular hal ini karena sebuah stored procedure dapat memanggil stored precedure lain. Stored procedure juga mudah untuk dikembangkan dan diubah. Keuntungan yang timbul dari perubahan stored procedure adalah bila ada perubahan maka otomatis perubahan tersebut dapt langsung terasa pada semua user karena perubahan hanya dilakukan pada satu tempat saja yaitu SERVER.
- Stored procedure bisa jadi adalah salah satu komponen penting dalam keamanan database. Jika semua akses user melalui strored procedure maka semua akses langsung ke tabel dan data dapat di kontrol.
Di SQL SERVER ada 2 macam stored procedure, yaitu :
- Stored procedure yang sudah ada pada sistem
- Stored procedure yang dibuat oleh user
Ok kita tidak perlu berlama-lama membahas teori!gag sabaran soale.hehehe
- Membuat Stored Procedure
Stored proceduredapat dibuat pada komputer serever atau komputer client yang telah memiliki SQL Server. Membuat stored pricedure dapat dilakukan dengan beberapa cara,salah satunya dengan perintah query pada editor query.
Bentuk dasar penulisan pembuatan stored procedure seperti ini :
“ Create Procedure <namaStoredProcedure>
As <isiStoredProcedure>”
Nah,pada pembahasan kita kali ini kita memakai database yang diberikan dosen saya yaitu Bu Tan Amelia dengan nama database Northwind.
Sebelum itu kita harus masuk ke databasenya,berikut langkah-langkahnya :
- Pada object explorer,kembangkan database
- Pilih database northwind
- Lalu programability
- Lalu klik pada stored procedure
- Lalu pilih New Query pada kolom dibawahnya menu file,atau kalau bingung pilih file-new-query with current connection
Setelah selesai menjalankan perintah diatas,ketikan program seperti gambar dibawah ini,
Nah,skrip diatas adalah skrip default kita untuk membuat stored procedure.tapi kode diatas belum selesai karena kita belum membuat isinya,selanjutnya kita isikan seperti dibawah ini,
Nah,bila sukses akan muncul messages sukses…
Sekarang bagaimana caranya kita tahu bahwa stored procedure sudah kita buat??berikut langkah-langkahnya :
- Pilih database northwind
- Lalu programability
- Lalu klik pada stored procedure
- Klik kanan – REFRESH
Maka prosedure yang anda buat akan muncul seperti dibawah ini :
Perlu diperhatikan bahwa stored procedure akan tersim[an dalam suatu database.. Jika anda memberikan perintah create procedure maka stored procedure yang dibaut akan tersimpan pada database yang saat itu digunakan.(contohnya northwind tadi) jadi ini akan tersimpan di dalam database northwind.
- b. Menjalankan Stored Procedure
Untuk menjalankan stored procedure dalam sql server,digunakan perintah “Execute” atau “Exec”. Contohnya seperti ini : “ Execute <namaStoredProcedure>”
Nah,aplikasinya sebagai berikut :
Nah hasilnya akan terlihat seperti gambar diatas.
- c. Mengedit Stored Procedure
Untuk mengedit Stored Procedure ,kita dapat menggunakan perintah “Alter Procedure” yang formatnya sama dengan Create Procedure. Jangan lupa setelah itu kita eksekusi lagi.
Berikut aplikasinya,
Hasilnya berbeda bukan dari yang pertama!?
- d. Menghapus Stored Procedure
Penulisannya untuk menghapus Stored Procedure seperti ini ,
“ Drop Procedure <namaProcedure>”
Berikut aplikasinya,
Untuk mengetahui hasilnya kita bisa merefresh stored procedure kembali,
Lihat gambar diatas,hilang bukan.
- 2. FUNCTION (UDF)
Secara garis besar ,
- Function adalah sebuah prosedur yang bisa kita definisikan dengan perintah CREATE FUNCTION.
- Bahasa yang digunakan untuk mendefinisikan function dapat ditentukan pada parameter LANGUAGE.
- Dua buah fungction dapat memiliki nama yang sama tapi dengan parameter yang berbeda baik tipe data maupun jumlahnya.
Secara umum penulisan function mempunyai format berikut :
“ create function [nm_schema]nm_fungsi
[({@param}tp_dt1[=default]) {,…}
Returns {tipe_scalar | [@variabel] table}
[with {encription | schemabinding}
[as]{blok | return (statement_select)}”
Kata kunci RETURNS mendefinisikan tipe data yang akan menampung hasil atau nilai yang akan dikembalikan oleh fungsi ke sistem. Sedangkan Return akan mengembalikan hasil kerja fungsi kepada sistem. Statement-satement berikut bisa kita gunakan dalam function :
- Set
- While
- If
- Deeclare
- Select
- Insert
- Update
- Delete
Ada 3 kategori dalam function,yaitu :
- Sourced UDFs
- SQL UDFs
- External UDFs
Sourced UDFs
Function yang terdaftar untuk database yang fungsinya memudahkan membuat reference ke function lain
SQL UDFs
Function yang ditulis sesuai prosedur bahasa sql
External UDFs
Perbedaan antara Stored Procedure dan function adalah bila stored procedure tidak mengembalikan nilai,sedangkan function harus mengembalikan nilai.
- 3. TRIGGER
Trigger adalah sebuah mekanisme kerja yang dipangil ketika ada sebuah aksi yang terjadi pada sebuah tabel.Penamaan trigger tidak boleh melebihi 128 karakter. Aksi yang dapat dikenali trigger berupa statement DML seperti :
– Insert
– Update
– Delete
Atau statement DDL. Nah, biasanya yang dieksekusi oleh trigger adalah stored procedure atau batch.
Suatu tabel dapat mempunyai beberapa trigger. Trigger sangat berguna karena dapat secara otomatis dilaksanakan diserver sehingga menyederhanakan pemrograman sekaligus menjaga konsistensi informasi dalam database.
KEUNTUNGAN TRIGGER
Keuntungan penggunaan trigger antara lain :
– Standarisasi ( penyeragaman) proses karena trigger dibuat 1 kali dan tersimpan dalam database sehingga semua client yang menggunakan database tersebut sekaligus adalah pengguna trigger. Dengan demikian seluruh client akan menggunakan operasi yang sama terhadap suat proses dalam databse karena trigger yang dibakai adalah sama.
– Menyederhanakan pemrograman karena 1 kali dibuat dalam database server maka seluruh program dalam bahasa apapun yang mengakses database tersebut akan otomatis menggunakan Trigger yang ada tanpa harus b=dibuat oerintahnya dalam program aplikasi
– Mudah diperbarui karena jika di – update sekali dalam database server maka semua client akan menggunakan pembaruan yang terakhir
– Kecepatan dan efisiensi proses karena trigger disimpan dalam server dalam kode yang sudah terkompilasi dan dilaksanakan dalam server sehingga lalu lintas jaringan menjadi berkurang
– Memudahkan kerja tim karena jika trigger dan stored procedure sudah dibuat maka anggota tim kerja dapat menggunakan bahasa pemrograman yang berbeda dalam mengaksesnya , sebab trigger disimpan dan dilaksanakan oleh server tanpa melihat bahasa pemrograman apa yang dipak pengguna database.
Itu tadi keuntunggan trigger,sekarang kita langsung ke pembuatannya saja. Bagaimana penulisannya ? berikut formatnya seperti dibawah ini :
“ create trigger <namatrigger>
On <namatabeldatabase>
For<insert,update,delete>
As
<prosestrigger>”
Ok,kita langsung saja mainkan sql server kita. Berikut aplikasinya :
- Membuat trigger
Langkah-langkahnya adalah :
- Pilih database northwind
- Kembangkan tabel
- Pilih dan kembangkan tabel yang diinginkan
- Pilih trigger
- Klik kanan
- New trigger
Secara default akan tampil seperti ini:
Itu cara pertama! Ada cara kedua yang langsung menuliskannya di jendela query,seperti berikut:
– Ini saya contohkan saja, kita akan membuat trigger bernama tambahorder pada tabel dbo.orders dalam databse northwind. Jika terjadi penambahan data(insert) dalam tabel orders maka trigger ini akan menambhkan 1 record baru pada tabel orders.subtotal. record baru ini akan di isi dengan orderID yang baru saja ditambhkan ke dalam tabel order dan mengisi jumlah stok dengan angka 20.
Berikut kode programnya :
MENGUJI TRIGGER
Nah sekarang kita waktunya untuk menguji apakh trigger tersebut berhasil atau tidak. Berikut kode programnya :
MELIHAT HASIL
Sekarang kita melihat hasil dari skrip diatas,berikut :
Coba lihat gambar diatas,tabel order subtotal secara otomatis akan ditambahkan sendirinya
MENGHAPUS TRIGGER
Untuk menghapus trigger tidak perlu repot karena hanya sedikit skripnya,dan kurang lebih hampir sama dengan prosedure dan function
Drop Trigger <namatrigger>
silahkan klik link dibawah ini untuk mendownload versi pdfnya
daftar pustaka :
Komputer ,Wahana. 2010.SQL SERVER 2008 Express .Yogyakarta:Penerbit Andi.
J.Alam,Agus M.2005.Pemrograman Transact-SQL pada sql serveer2005.Jakarta:Penerbit Elex media komputindo
mau tanya, kalo cara memanggil Stored Procedure dari dalam Stored Procedure lain itu gmana yaaa? Memanggil SP di dalam select statement di dalam SP lain
Sbb. iya jd klo untuk memanggilnya kalau di function kita kan memanggilnya seperti ini :
“dbo.NamaFunction”
kalau stored procedure langsung saja dipanggil namanya. diatas saya namakan “SirupAnis”
ya di panggilnya SirupAnis juga :
if SirupAnis > 0
blaa…blaa..
else
bla..blaa
*dgn catatan prosedure sirupanis berisi sebuah int/angka
terma kasih ilmunya. semoga bermanfaat dan menjadi amal baik Anda ^^
u’re welcome
bagus nih makasi gan
sama2 bro
coly nih mw nanya klo misalnya stored procedure yg dibuat salah satu tipe datany merupakan int identity of,jd gimana cara eksekusi stored procedure
Reblogged this on catatan kecilku.