DELIMITER // /* ********************************************** 【Question】 以下のSQLは社員IDの欠番を一時テーブルに登録するプロシージャの作成途中です。 以下のルールに従ってプロシージャを完成させてください。 例) 10000 山田 10001 髙橋 10004 佐藤 となっていた場合は、欠番は 10002, 10003 となる *********************************************** */ DROP PROCEDURE IF EXISTS search_missing_num; CREATE PROCEDURE search_missing_num() BEGIN # 変数の定義 # 現在登録されているIDを取得するカーソルを定義する DECLARE empIdCursor CURSOR FOR SELECT id_employee FROM employee ORDER BY id_employee; # 欠番IDを保管しておく一時テーブルを作成する DROP TABLE IF EXISTS tmpTable; CREATE TABLE tmpTable (missingId INT PRIMARY KEY); # カーソルをオープンする # 登録されているID一覧を1レコードづつ読み込む # 最初の1行以外であった場合は、現在処理中のIDがプールされているIDの+1かどうかを判定 # カーソルのクローズ # ここまででコミット COMMIT; END; //