こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

UPDATE文のWHERE句にファンクション使いたい

[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文にユーザ関数を使用することはできないのでしょうか?


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

投稿日時 - 2006-06-06 16:14:31

QNo.2199061

暇なときに回答ください

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

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

よく見ると、Update文の条件とSelect文の条件が違います。
ID_NO = '1401001' ではなく KANRI_NO = '1401001' なのではないですか?

投稿日時 - 2006-06-07 11:26:06

お礼

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

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

投稿日時 - 2006-06-07 15:11:01

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(1)

あなたにオススメの質問