Просто увивам моя SQL скрипт в процедура, където е разрешен условен код. Ако предпочитате да не оставяте изявленията да лежат наоколо, можете да прекратите процедурата, когато приключите. Ето един пример:
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;
Ако не сте използвали процедури, ключовата дума "разделител" може да се нуждае от известно обяснение. Първият ред превключва разделителя на "//", за да можем да включим точка и запетая в нашата дефиниция на процедурата, без MySQL все още да се опитва да ги интерпретира. След като процедурата бъде създадена, превключваме разделителя обратно на ";" така че можем да изпълняваме оператори както обикновено.