dポイントプレゼントキャンペーン実施中!

すみません。

PL/SQLにて以下のようなカーソルがあるのですが、
引数のpJYOKENをWHERE条件に追加することはできないでしょうか。
pJYOKENには(属性 = 0)のような条件が入っています。
条件はその都度違ったものが入ってくるイメージです。

cursor CURテスト (pJYOKEN IN VARCHAR2) IS
SELECT社員コード
FROM テストマスタ
WHERE 会社ID = '001'
AND 区分 = 1;
rcテストCURテスト%rowtype;

よろしくお願い致します。

A 回答 (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句に書けますよ。

この回答への補足

RedGerberaさん

ご回答頂きありがとうございます。
少し説明不足で申し訳ありません。
pJYOKENに入ってくるのは、計算式になります。
属性とはテストマスタの項目で、例としては
(属性 <> 0)といった式が入ってくる場合もあります。
イメージとしては以下のような感じにしたいのですが。。

cursor CURテスト (pJYOKEN IN VARCHAR2) IS
SELECT 社員コード
FROM テストマスタ
WHERE 会社ID = '001'
AND 区分 = 1;
AND pJYOKEN
rcテスト CURテスト%rowtype;

これでコンパイルすると関係演算子が無効のエラーがでてしまいます。
こういうことはできないのでしょうかね。。

以上、よろしくお願い致します。

補足日時:2008/05/21 08:59
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!