This commit is contained in:
PC60087232\USER
2026-09-28 07:39:02 +09:00
parent 55f84f2b68
commit a2236aae21
58 changed files with 6191 additions and 1 deletions

View File

@@ -0,0 +1,25 @@
DELIMITER //
/*
**********************************************
【Question】
以下のプロシージャをMySQLに登録、プロシージャの実行をしてください。
その後、プロシージャを削除してください。
***********************************************
*/
DROP PROCEDURE IF EXISTS emp_info;
CREATE PROCEDURE emp_info()
BEGIN
# 検索処理
SELECT
employee.*
,department.nm_department
FROM
employee inner join department
ON employee.id_department = department.id_department
;
END;
//
---------------------

View File

@@ -0,0 +1,15 @@
DELIMITER //
/*
**********************************************
【Question】
問1で作成したプロシージャの改修を行なってください。
仕様は以下の通りです
- プロシージャを実行する際に値(名前)を指定できるようにしたい
- その名前の部分一致検索で情報を取得できるようにしたい
***********************************************
*/
END;
//

View File

@@ -0,0 +1,14 @@
DELIMITER //
/*
**********************************************
【Question】
02で作成したプロシージャの仕様追加を行なってください。
仕様は以下の通り
- 呼び出し時の引数がnullだった場合は全件検索を行う
***********************************************
*/
END;
//

View File

@@ -0,0 +1,42 @@
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;
//