前提・実現したいこと
カーソル内でORDER BYについて条件分岐をしようと思っていまして、
カーソルの条件にソート条件を持たせてそれを読み込む形に実装してみたのですが、
下記のような書き方だとソートが上手く行かず。。
デフォルト(指定なし)の状態でデータが返ってきてしまいます。
この方法での分岐は不可能なのでしょうか・・・?
また、他に良い方法など有りましたらご教授お願い致します。
発生している問題・エラーメッセージ
PL/SQL
~ CURSOR C_CUSTOMER(SORT_JOKEN IN NVARCHAR2) IS SELECT A.* FROM A, B WHERE A.KEY = B.KEY ORDER BY SORT_JOKEN ~ sortJoken NVARCHAR2(50) := ''; IF sortKbn = 20 THEN sortJoken = 'B.SUB_KEY DESC' ELSE sortJoken = 'B.SUB_KEY, A.SUB_KEY DESC' END IF; FOR C_CUSTOMER IN C_CUSTOMER(sortJoken) LOOP ~常にソート指定なしの結果~ END LOOP; ~
試したこと
ObjectBrowserでカーソル部分のSQLを直接実行し、
ORDER BY部分をバインド変数にして、
上記のIF文で分けている箇所をバインド変数に入れて試してみましたが、
指定なしで返ってくることを確認。
補足情報(FW/ツールのバージョンなど)
動作環境:Oracle Database 11g R2

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/05 08:56
2018/02/05 09:07 編集
2018/02/05 09:19