Selasa, 20 September 2011

Stored Procedurs, Function, dan Triggers

  Nim/Nama : 10410100214/candra dwi w.p.
  Dosen          : Tan Amelia
  Tugas          : Resume Stored Procedurs, Function, and Triggers
 


Stored Procedurs merupakan program yang disimpan dalam data base seperti halnya data. Hal ini sebenanya cukup tidak umum, karena kita mengharapkan yang disimpan dlam data base adalah data bukan nya program.

Kemampuan utama SQL Server berada pada Store Procedure dan Fungsi (Fungsi hanya terdapat pada SQL Server 2000)
Dengan adanya Store Procedure, maka program SQL yang telah kita buat : 
  •  dapat digunakan kapanpun
  • lebih cepat dan efisien karena bersifat Server Side 
  • mudah dibuat dan dirawat karena kecil tapi ‘Power Full’ 
MENDEFINISIKAN PROSEDUR EKSTERNAL
  1. Pernyataan CREATE PROCEDURE untuk prosedur eksternal terdiri dari : Nama Prosedur
  2. Definisi parameter dan atribut-atributnya
  3. Pemberian informasi lain tentang prosedur yang akan digunakan system ketika prosedur dipanggil
Perhatikan contoh berikut :
EXEC SQL CREATE PROCEDURE P1
(INOUT PARM1 CHAR(10))
EXTERNAL NAME MYLIB.PROC1
LANGUAGE C
GENERAL WITH NULLS ;

Pernyataan CREATE PROCEDURE di atas maksudnya adalah sebagai berikut:
- Nama prosedur P1
* Mendefinisikan sebuah parameter yang digunakan baik sebagai parameter input dan output. Parameter tersebut adalah sebuah field character dengan panjang 10. Parameter dapat didefinisikan bertipe IN, OUT atau INOUT. Tipe parameter menentukan nilai untuk parameter ketika dimasukkan ke dan dari prosedur.
*Mendefinisikan nama program yang berhubungan dengan prosedur tersebut, yaitu PROC1 dalam MYLIB. MYLIB.PROC1 adalah program yang dipanggil ketika prosedur dipanggil dengan pernyataan CALL.
*Menunjukkan bahwa prosedur P1 (Program MYLIB.PROC1) ditulis dalam bahasa C. Bahasa pemrograman sangat penting jika ia memberi dampak terhadap tipe parameter yang dilewatkan. Hal ini juga memberi dampak bagaimana parameter dilewatkan ke prosedur (contoh, untuk prosedur ILE C, sebuah terminator NUL dilewatkan dalam bentuk parameter character, graphic, date, time dan timestamp).
*GENERAL WITH NULLS menunjukkan bahwa parameter untuk prosedur boleh berisi nilai NULL.


 FUNCTION

Function adalah suatu blok PL/SQL yang memiliki konsep sama dengan procedure, hanya saja pada function terdapat pengembalian nilai (return value)
Karena function dapat mengembalikan sebuah nilai, function dapat diakses seperti layaknya sebuah variabel biasa.


contoh bentuk function :
Bentuk Umum :
CREATE OR REPLACE FUNCTION nama_function (parameter_1, …)
RETURN tipe_data AS
  variabel_1 tipe_data;
  …
BEGIN
  statemen_1;
  …
  RETURN nilai_yang_dikembalikan;
END;


 Dasar pembuatan Function

Statemen RETURN tipe_data diatas menunjukkan bahwa function akan mengembalikan nilai dengan tipe data tertentu
Statemen RETURN nilai_yang_dikembalikan berfungsi untuk mengembalikan nilai yang telah diproses dalam function



 TRIGGER
 Trigger adalah sebuah teknik untuk menentukan jenis-jenis active rule tertentu yang ada di versi awal SQL pada database relasional.

 
Model untuk menentukan rule active database didasarkan pada model ECA (Event Condition Action) mempunyai 3 komponen :
Event Trigger rule : Event adalah Operasi update database yang secara eksplisit digunakan ke database. Pada model yang umum bisa juga event temporal atau jenis  external event yang lain.
Condition untuk menentukan apakah rule action dapat dijalankan : Sekali event trigger terjadi, kondisi optional akan di evaluasi. Jika tidak ada kondisi yang ditentukan, action akan dijalankan sekali pada event yang terjadi. Jika kondisi ditentukan, maka kondisi dievaluasi pertama dan jika dievaluasi benar maka rule action dijalankan.
Action dapat diambil : Action adalah sebuah urutan statemen SQL, tetapi dapat juga sebuah transaksi database atau sebuah program external yang otomatis dijalankan.
Berikut contoh syntax trigger
 
<trigger>::= CREATE TRIGGER <trigger name>
   (AFTER|BEFORE) <triggering events> ON <tablename>
   {FOR EACH ROW}
   {WHEN <condition>}
   <trigger actions> ;
<triggering events> ::= <trigger event> {OR <trigger event>}
<trigger event> ::=  INSERT | DELETE | UPDATE {OF <column name> {,<column name>}}
<trigger action> ::= <PL/SQL block>





Tidak ada komentar:

Posting Komentar