Subscribe to my RSS feed RSS
November 21, 2007

Procedure MySQL dan PostgreSQL

“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();
Feed for this Entry | Trackback Address

No comments yet

There are no comments yet, be the first!

Leave a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>