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

[OSのVER]:WindowsXP
[OracleのVER]:9i

UPDATE時にWHERE句に自作のユーザ関数を使いたいと思っていますが、
更新されずに困っています。
(エラーも出ません)

例)
update TG_TBL set
S_YMD = '20060601',
LAST_UPDATE = SYSDATE ,
where ID_NO = '1401001'
and CHK_SIK(ID_NO) in (1,2) ←使用したいチェック関数

ちなみに、以下のように同じ関数を使用すると1件のレコードが検索されます。

select * from TG_TBL
where KANRI_NO = '1401001' and CHK_SIK(ID_NO) in (1,2)


関数部分をコメントアウトして、実行すると1件更新されます。

UPDATE文にユーザ関数を使用することはできないのでしょうか?


皆様のお知恵をお貸しください。
よろしく、お願いいたします。

A 回答 (1件)

更新されないのは、条件にあったものがないからではないでしょうか。



よく見ると、Update文の条件とSelect文の条件が違います。
ID_NO = '1401001' ではなく KANRI_NO = '1401001' なのではないですか?
    • good
    • 0
この回答へのお礼

御回答、ありがとうございます。

私の不注意で、申し訳ありません。
その通りでした。

お礼日時:2006/06/07 15:11

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