Ik wikkel mijn SQL-script gewoon in een procedure, waar voorwaardelijke code is toegestaan. Als u de verklaringen liever niet laat rondslingeren, kunt u de procedure laten vallen als u klaar bent. Hier is een voorbeeld:
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;
Als u geen procedures hebt gebruikt, heeft het trefwoord "delimiter" misschien wat uitleg nodig. De eerste regel zet het scheidingsteken om naar "//", zodat we puntkomma's in onze proceduredefinitie kunnen opnemen zonder dat MySQL ze nog probeert te interpreteren. Zodra de procedure is gemaakt, schakelen we het scheidingsteken terug naar ";" zodat we instructies zoals gewoonlijk kunnen uitvoeren.