Dalam
function dan procedure, kita bisa memasukkan logika pemrograman. Ada
beberapa karakteristik pemrograman yang didukung oleh MySQL. Beberapa di
antaranya adalah penggunaan variabel, kendali kondisional, dan
perulangan.
Seperti
pada pemrograman pada umumnya, kita bisa menggunakan variabel lokal
pada function dan procedure. Pendeklarasian variabel memiliki sintaks
sebagai berikut:
DECLARE var_name [, var_name] ... type [DEFAULT value]
Nilai inisialisasi variabel dapat dilakukan menggunakan statement DEFAULT. Jika statement DEFAULT tidak digunakan, maka nilai inisialisasi variabel adalah NULL. Penamaan variabel lokal bersifat case insensitive. Berikut adalah beberapa contoh deklarasi variabel:
DECLARE total_sale INT
DECLARE x, y INT DEFAULT 0
Pemberian
nilai ke sebuah variabel dilakukan dengan menggunakan statement SET.
Hasil dari query juga dapat dimasukkan ke dalam variabel menggunakan
SELECT INTO. Berikut … adalah beberapa contoh pemberian nilai ke variabel.
SET total_sale = 50;
SELECT COUNT(*) INTO numPekerja FROM pekerja;
Ruang lingkup variabel adalah di antara blok BEGIN … END di
mana variabel tersebut didefinisikan. Variabel dapat diakses dari blok
yang berada dalam blok di mana ia didefinisikan, kecuali pada blok yang
memiliki deklarasi nama variabel yang sama. Berikut adalah contoh
penggunaan variabel dalam function dan stored procedure.
mysql> CREATE FUNCTION addTax(gaji FLOAT(8,2))
-> RETURNS FLOAT (8,2)
-> BEGIN
-> DECLARE tax FLOAT DEFAULT 0.05;
-> RETURN gaji * (1 - tax);
-> END ^_^
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;