条件付きコードが許可されているプロシージャで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;
手順を使用したことがない場合は、「delimiter」キーワードに説明が必要な場合があります。最初の行は区切り文字を「//」に切り替えて、MySQLがまだセミコロンを解釈しようとせずに、プロシージャ定義にセミコロンを含めることができるようにします。プロシージャが作成されたら、区切り文字を「;」に戻します。したがって、通常どおりステートメントを実行できます。