IF文からデータを返すにはどうすればよいですか?私はそのステートメントの結果に応じて異なる結果を返すためのIFステートメントを持っています。データを返すときにOracleでIF文を使用する
IF :Value = 1 THEN
SELECT Name FROM TABLE_A
ELSEIF :Value = 2 THEN
SELECT Name FROM TABLE_B
ELSEIF :Value = 3 THEN
SELECT Name FROM TABLE_C
しかし、これは機能しません。これらの選択項目にはINTOステートメントが必要です。私はこれがオラクルがブロックから復帰できないためだと思う?
データを格納するか、関数を使いこなすためのテーブル変数を作成せずに、これらのselect文をすばやく返す方法はありますか?
IFはplsql文で、 'select * ....'はsqlです。彼らは異なる言語です。 'execute immediate'を使ってSQL文をplsqlの中で実行する方法があります。しかし、やはり、実装しようとしている文脈や達成しようとしていることを知らずに、何かを提案することは非常に難しいです – Hawk