0

私はこれまでに見たことのない奇妙な問題を Oracle で抱えています....

次の挿入選択ステートメントがあります

insert into table2
(
    key_field,value
)
SELECT 
       key_field, CASE WHEN type ='S' THEN 100 ELSE 1 END 
FROM view1
WHERE key_field=1

SELECT 部分だけを実行すると、2 番目のフィールドで 100 が得られますが、insert select ステートメントを実行すると、 table2 で 1 が得られます。

挿入にフィールド タイプを含めると、100 が得られます

「'S' THEN 100 ELSE 1 END のようなCASE WHEN 型」を使用すると、table2 で 100 が得られます (正解)

最初の select insert ステートメントが機能しない理由を知っている人はいますか?

ありがとうございました!

4

0 に答える 0