sql
1CREATE TABLE テスト ( 2 従業員番号 int NOT NULL, 3 ログ int, 4 ログ名 varchar(255), 5 ログ情報 varchar(255), 6 ファイル int, 7 ファイル名 varchar(255), 8 ファイル情報 varchar(255), 9 PRIMARY KEY (従業員番号) 10);
実現したいこと
createしたテストテーブルでif条件分岐処理を実行したいです。
もし、パラメータが”1”ならログ・ログ名・ログ条件をselectする。
もし、パラメータが”2”ならファイル・ファイル名・ファイル条件をselectする。
分からないこと
上記の処理を実現するには、外部キーをテーブルに作成して1と2の処理を実行しようと考えましたが実現できませんでした。
どのように実装したら上記が実行できるのか分からないので教えていただきたいです。
パラメータはログ処理(ログ・ログ名・ログ条件)とファイル(ファイル・ファイル名・ファイル条件)を振り分けたいのでパラメーターが
必要と考えました。別のテーブルに従業員番号に紐づく「パラメータ」という列はありません。言葉不足で申し訳ありません。
ストアドプロシージャの使用は可能です。
⓵想定する呼び出し方CREATE TABLE テスト のテーブル作成時に同時に処理を振り分けするための何らかのフラグを持たせる。
⓶SELECTするときにフラグをパラメータとして渡す。
⓷パラメータの値で処理を分岐する。
sql
1select * from テスト ( 2 IF パラメータ1 THEN 3 {select [ログ・ログ名・ログ条件] from テスト} 4 5ELSE 6 {select [ファイル・ファイル名・ファイル条件] from テスト} 7 8END IF;);
sqlでの条件分岐で実装をしたいです。上記の⓵から⓷考え方では実現できないでしょうか?
どういうプログラムの流れになるのか分からないので教えていただきたいです。
回答3件
あなたの回答
tips
プレビュー