そのため、現在、データベース内のテーブルの1つを更新するために呼び出すことができる単純なSQLストアドプロシージャがあります。ストアドプロシージャ内に、If条件ステートメントがあります。
IF 1 > 0 THEN
UPDATE TABLE_A
SET COLUMN_1 =299999
WHERE COLUMN_2 ='2014-01-03' and COLUMN_3=0;
update句を個別に実行すると、テーブルが正常に更新されるため、update句に問題はないと確信しています。表で値が更新されているのがわかります。
ただし、ステートメントの直後にIF
(上記のコードのように)配置すると、更新は失敗します(影響を受けた行は返されません)。
IFステートメントも正しいと確信しています(現在、テストのために1> 0としています)。
IFの後に挿入ステートメントを置くと、それも正常に機能します。新しい行がテーブルに挿入されています。これはとても奇妙です。何か助けはありますか?