Procedure dan Function
Syntax Umum
procedure
Syntak untuk membuat procedure dalam MySQL adalah sebagai berikut.CREATE
[DEFINER = { user | CURRENT_USER }]PROCEDUREsp_name([proc_parameter[,...]])
[characteristic...]routine_body
Function
CREATE
[DEFINER = { user | CURRENT_USER }]FUNCTIONsp_name([func_parameter[,...]])
RETURNS type[Keterangancharacteristic...]routine_body
1. proc_parameter (hanya pada procedure):
[ IN | OUT | INOUT ]param_nametype
- IN parameter dilewatkan ke dalam procedure tetapi modifikasi nilai dari parameter ini tidak kelihatan setelah procedure tersebut dipanggil.
- Out parameter merupakan parameter yang dilewatkan dari dalam procedure ke pemanggil procedure tersebut. Nilai inisialisasi saat memanggil adalah null dan hasil parameter akan kelihatan setelah procedure dipanggil.
- INOUT parameter diinisilaisai oleh pemanggil procedure, kemudian hasil modifikasinya tersebut akan kelihatan setelah procedure tersebut dipanggil.
LANGUAGE SQL
| [NOT] DETERMINISTIC
| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }| SQL SECURITY { DEFINER | INVOKER }| COMMENT 'string'3. routine_body:Valid SQL procedure statementRoutine body berisi syntax-syntax sql yang valid, seperti insert atau select. Bisa juga berisi compound. Compount diapit oleh begin… end. Syntax dari compound system adalah sebagai berikut.[begin_label:] BEGIN[statement_list]END [end_label]Trigers
Syntax Umum Triger
CREATE
[DEFINER = { user | CURRENT_USER }]TRIGGERtrigger_nametrigger_timetrigger_event
ONKeterangantbl_nameFOR EACH ROWtrigger_stmt
- DEFINER menunjukkan nama user yang mempunyai hak akses untuk mengakses triger.
- Triger_time menunjukkan saat triger tersebut dijalankan. Terdiri dari Before atau After
- Triger_time menandakan saat keadaan bagaimana triger tersebut aktif. Terdiri dari
- Insert : Triger aktif saat baris baru dimasukkan ke dalam tabel
- Update : Triger aktif saat ada baris diperbaharui dimasukkan di dalam tabel
- Delete :Triger aktif saat baris dihapus dalam tabel