私はこれまでに見たことのない奇妙な問題を 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 ステートメントが機能しない理由を知っている人はいますか?
ありがとうございました!