- - PR -
PL/SQLでDECODEを使う場合
1
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2006-04-07 18:45
PL/SQLでこのような式の値を、引数3という変数に代入したいのですが、エラーが出ます。
なにか良い方法はありますでしょうか。 引数1、引数3・・・テーブルG001の列。 M001・・・テーブル名。 引数3 := DECODE(引数1, 1, DECODE(M001.aa, 1, 11, 2, 12, 3, 13), 2, DECODE(M001.bb, 1, 21, 2, 22), 3, DECODE(M001.cc, 1, 31, 2, 32, 3, 33), 4, DECODE(M001.dd, 1, 51, 3, 53), 5, DECODE(M001.ee, 1, 71), 6, DECODE(M001.ff, 1, 61, 2, 62), 7, DECODE(M001.gg, 1, 41, 3, 43), 9, 99); | ||||||||
|
投稿日時: 2006-04-08 21:58
どういうエラーがでますか?
また、SQLの全文を載せていただけるとわかりやすくなります。 | ||||||||
|
投稿日時: 2006-04-10 13:54
PL/SQLブロックでDECODEを使おうとしたら
が出たので、これと同じエラーが出たと仮定したばあい、 DECODEをSQLステートメント内で使用し、INTOを用いて代入すれば 解決するかと思います。 ↓サンプル
#WinXP + Oracle10gExで動作確認 |
1