Saya baru saja membungkus skrip SQL saya dalam suatu prosedur, di mana kode bersyarat diizinkan. Jika Anda lebih suka tidak membiarkan pernyataan itu tergeletak begitu saja, Anda dapat membatalkan prosedur setelah selesai. Ini contohnya:
delimiter //
create procedure insert_games()
begin
set @platform_id := (select id from platform where name = 'Nintendo DS');
-- Only insert rows if the platform was found
if @platform_id is not null then
insert into game(name, platform_id) values('New Super Mario Bros', @platform_id);
insert into game(name, platform_id) values('Mario Kart DS', @platform_id);
end if;
end;
//
delimiter ;
-- Execute the procedure
call insert_games();
-- Drop the procedure
drop procedure insert_games;
Jika Anda belum pernah menggunakan prosedur, kata kunci "pembatas" mungkin memerlukan penjelasan. Baris pertama mengalihkan pembatas ke "//" sehingga kita dapat memasukkan titik koma dalam definisi prosedur kita tanpa MySQL mencoba untuk menafsirkannya. Setelah prosedur dibuat, kami mengalihkan pembatas kembali ke ";" jadi kita bisa mengeksekusi pernyataan seperti biasa.