Procedure MySQL dan PostgreSQL

21 Nov 2007 | Kel. Databases |

“Diantara” anda pasti tidak asing lagi dengan istilah procedure di dalam database, entah itu MySQL, PostgreSQL, Oracle maupun database-database yang lainnya. Untuk MySQL memang baru pada versi 5 ditambahkan fasilitas procedure. Sedangkang untuk database yang lain, misal Oracle ataupun PostgreSQL sudah sejak lama dikenal istilah procedure.

Biar ga berbelit-belit **benang kali**, disini aku coba buat dua buah procedure yang berbeda di antara dua database yang berbeda pula. MySQL dan PostgreSQL. Kenapa hanya MySQL dan PostgreSQL ?? ya karena memang itu yang aku punya, Oracle ga punya seh…

pertama jelas harus dibuat tabel, kenapa harus dibuat terlebih dahulu ? kembali lagi karena nantinya procedure yang akan dibuat akan menghitung jumlah data dalam tabel ini.

tabel MySQL:

CREATE TABLE tabel (

id int(11) NOT NULL AUTO_INCREMENT,

angka varchar(20) DEFAULT NULL,

PRIMARY KEY  (id)

) ENGINE=MyISAM;

tabel PostgreSQL:

CREATE TABLE tabel (

id serial,

angka varchar(20),

PRIMARY KEY (id)

);

Procedure MySQL:

DELIMITER $$

CREATE PROCEDURE getTotal (OUT total INT)

BEGIN

SELECT COUNT(*) INTO total FROM tabel;

END;

$$

DELIMITER ;

Procedure PostgreSQL:

CREATE FUNCTION getTotal() RETURNS int AS $$

DECLARE

total int;

BEGIN

SELECT COUNT(*) INTO total FROM tabel;

RETURN total;

END;

$$ LANGUAGE plpgsql;

Setelah itu coba diisi data yang kemudian eksekusi procedure yang telah dibuat. Memang ada perbedaan cara eksekusi procedure antara MySQL dan PostgreSQL.

MySQL:

CALL getTotal(@totalnya);

SELECT @totalnya;

PostgreSQL:

SELECT getTotal();

Komentar

"Saya adalah Saya" ya memang itu salah satu dari sekian semboyan saya. Sekarang banyak waktu dihabiskan di depan komputer sambil belajar ngetik tentunya. "Ngopi" dan "udud" merupakan kegemaran yang sampai sekarang belom bisa ditinggalkan. Terasa uuuenak tenan...