- PR -

オラクル10gのPL/SQLカーソルに関して

1
投稿者投稿内容
dai
会議室デビュー日: 2006/05/16
投稿数: 2
投稿日時: 2006-05-16 02:22
初めて投稿します。
現在、オラクル10gでPL/SQLを使って開発しているのですが、どうしてもカーソルが上手く動いてくれません。
お知恵を貸していただければと思います。
以下使用しているカーソルを記述します。

CURSOR c_test(para_1 IN VARCHAR2, para_2 IN VARCHAR2) IS
SELECT cul_1,cul_2
FROM teble
where cul_3 = para_1
AND cul_4 = para_2
AND cul_5 = '0'
ORDER BY cul_6 DESC;

とした場合、どうやらcul_5 = '0'の条件しか効いていないようなのです。
最初はパラーメタがきちんと受け渡されずに、NULLがセットされているのかとも思いましたが、NULLをセットした場合には異なる値を返します。
(パラメータがきちんと渡ってきているのは、後で確認しました。)

このような現象にお心当たりのある方はいらっしゃいますでしょうか?
是非ともお知恵をお貸しください。
よろしくお願いします。
もしもし
ぬし
会議室デビュー日: 2004/10/15
投稿数: 280
投稿日時: 2006-05-16 14:51
カーソルで定義した SELECT を直接実行しても取得できませんか?
_________________
もしもし@RMAN 友の会
dai
会議室デビュー日: 2006/05/16
投稿数: 2
投稿日時: 2006-05-16 19:02
>もしもし様
返答ありがとうございます。
直接事項すると取得できます。
ちなみに、PL/SQLの中でSELECT〜INTO文で実行すると
同じようにパラメータの部分が無視されてしまいます。
Desmo
大ベテラン
会議室デビュー日: 2004/03/24
投稿数: 149
投稿日時: 2006-05-23 16:29
where分の変数(para_1、para_2)の部分に直接 検索文字列を入力したらどうなりますか?
また 引数にしないで、バインド変数として宣言した場合は変化はありますか?
記述されたサンプルが特におかしいようには見えませんので・・・
部分的に変更した場合に結果によっては何かがわかるかもしれません。
1

スキルアップ/キャリアアップ(JOB@IT)