Skip to the content.

Procedure

Intermezo

Kulkas - Unsplash.com @jamillatrach

Stored Procedure, atau disebut juga Procedure dalam basis data dapat diibaratkan sebagai sebuah 'Kulkas' dari perintah-perintah SQL.

Pengertian Procedure

Procedure adalah mekanisme penyimpanan perintah SQL agar dapat dipanggil di kemudian waktu.

Procedure memiliki nama, parameter input, dan perintah SQL yang disimpan. Procedure mirip dengan function pada bahasa pemrogrman. Dengan penyimpanan procedure, perintah SQL yang panjang dapat disingkat menjadi satu perintah singkat.

Terdapat perbedaan penulisan perintah SQL untuk penulisan procedure pada MySQL, PostgreSQL, SQL Server, ataupun SQL lainnya, namun secara konsep sama.

Contoh Penulisan Procedure pada MySQL

Lihat Contoh Penulisan Procedure pada PostgreSQL

Contoh-contoh dibawah ini menggunakan SQLiteonline.com, aplikasi simulasi SQL online untuk SQLite, MySQL / MariaDB, PostgreSQL dan SQL Server. SQLiteonline.com memiliki tabel contoh yaitu demo.

Menghitung Data

Pada contoh ini, procedure HitungDemo() dibuat untuk menghitung jumlah data pada tabel demo.

  1. Buka SQLiteonline.com
  2. Klik MariaDB
  3. Klik Click to connect
  4. Buat perintah SQL seperti di bawah ini untuk membuat procedure HitungDemo() yang didalamnya berisi perintah SQL untuk menghitung data pada tabel demo.
CREATE PROCEDURE HitungDemo()
SELECT COUNT(*) AS total FROM demo;
  1. Gunakan perintah SQL di bawah ini untuk memanggil procedure HitungDemo() yang telah dibuat
CALL HitungDemo();

Menambahkan Data Dengan Parameter

Pada contoh ini, procedure InsertDemo(Name, Hint) dibuat untuk menambah data pada tabel demo dengan parameter Name dan Hint

  1. Buka SQLiteonline.com
  2. Klik MariaDB
  3. Klik Click to connect
  4. Buat perintah SQL seperti di bawah ini untuk membuat procedure InsertDemo(Name, Hint) yang memiliki dua parameter isian yaitu Name dan Hint. InsertDemo(Name, Hint) berisi perintah INSERT untuk menambahkan data Name dan Hint pada tabel demo.
CREATE PROCEDURE InsertDemo(IN Name VARCHAR(50), IN Hint VARCHAR(50))
INSERT INTO demo VALUES(NULL, Name, Hint);
  1. Gunakan perintah SQL di bawah ini untuk memanggil procedure InsertDemo(Name, Hint) yang telah dibuat, untuk menambahkan data baru
CALL InsertDemo('Ujang', 'Menjual bubur tiap hari Senin, Rabu, Sabtu');

Contoh Penulisan Procedure pada PostgreSQL

Lihat Contoh Penulisan Procedure pada PostgreSQL

Contoh-contoh dibawah ini menggunakan SQLiteonline.com, aplikasi simulasi SQL online untuk SQLite, MySQL / MariaDB, PostgreSQL dan SQL Server. SQLiteonline.com memiliki tabel contoh yaitu demo.

Menghitung Data

Pada contoh ini, procedure HitungDemo() dibuat untuk menghitung jumlah data pada tabel demo.

  1. Buka SQLiteonline.com
  2. Klik PostgreSQL
  3. Klik Click to connect
  4. Buat perintah SQL seperti di bawah ini untuk membuat procedure HitungDemo() yang didalamnya berisi perintah SQL untuk menghitung data pada tabel demo.
CREATE OR REPLACE FUNCTION HitungDemo()
RETURNS TABLE(total INT) AS $$
SELECT COUNT(*)::INT AS total FROM demo;
$$ LANGUAGE sql;
  1. Gunakan perintah SQL di bawah ini untuk menampilkan data dari HitungDemo() yang telah dibuat
SELECT * FROM HitungDemo();

Menambahkan Data Dengan Parameter

Pada contoh ini, procedure Insert(Name, Hint) dibuat untuk menambah data pada tabel demo dengan parameter Name dan Hint

  1. Buka SQLiteonline.com
  2. Klik PostgreSQL
  3. Klik Click to connect
  4. Buat perintah SQL seperti di bawah ini untuk membuat procedure InsertDemo(ID, Name, Hint) yang memiliki tiga parameter isian yaitu ID, Name dan Hint. InsertDemo(ID, Name, Hint) berisi perintah INSERT untuk menambahkan data Name dan Hint pada tabel demo.
CREATE OR REPLACE FUNCTION InsertDemo(_id INTEGER, _name VARCHAR(50), _hint VARCHAR(50))
RETURNS VOID AS $$
  INSERT INTO demo VALUES(_id, _name, _hint);
$$ LANGUAGE sql;
  1. Gunakan perintah SQL di bawah ini untuk memanggil procedure InsertDemo(Name, Hint) yang telah dibuat, untuk menambahkan data baru
SELECT * FROM InsertDemo(7, 'Ujang', 'Menjual bubur tiap hari Senin, Rabu, Sabtu');

Trigger

Intermezo

Toilet - Unsplash.com

Gambar apakah itu ? Ya, itu gambar wc

Kapan kita tiba-tiba berlari ke wc ?

Built-in Function

Intermezo

procedure trigger sql database