• ベストアンサー

PL/SQLのカーソルについて

すみません。 PL/SQLにて以下のようなカーソルがあるのですが、 引数のpJYOKENをWHERE条件に追加することはできないでしょうか。 pJYOKENには(属性 = 0)のような条件が入っています。 条件はその都度違ったものが入ってくるイメージです。 cursor CURテスト (pJYOKEN IN VARCHAR2) IS SELECT 社員コード FROM テストマスタ WHERE 会社ID = '001' AND 区分 = 1; rcテスト CURテスト%rowtype; よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

そのままpJYOKENで使えまーす。 たとえば、 属性=0のときは、会社ID='001'でかつ区分=1 属性=1のときは、会社ID='002'でかつ区分=2  としたいときは、 (pJYOKEN = 0 AND 会社ID = '001' AND 区分 = 1) OR (pJYOKEN = 1 AND 会社ID = '002' AND 区分 = 2) という感じでWHERE句に書けますよ。

ranran_ai
質問者

補足

RedGerberaさん ご回答頂きありがとうございます。 少し説明不足で申し訳ありません。 pJYOKENに入ってくるのは、計算式になります。 属性とはテストマスタの項目で、例としては (属性 <> 0)といった式が入ってくる場合もあります。 イメージとしては以下のような感じにしたいのですが。。 cursor CURテスト (pJYOKEN IN VARCHAR2) IS SELECT 社員コード FROM テストマスタ WHERE 会社ID = '001' AND 区分 = 1; AND pJYOKEN rcテスト CURテスト%rowtype; これでコンパイルすると関係演算子が無効のエラーがでてしまいます。 こういうことはできないのでしょうかね。。 以上、よろしくお願い致します。

関連するQ&A