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 部分时,第二个字段得到 100,但是如果我运行 insert select 语句,我在 table2 中得到 1。

如果我在插入中包含字段类型,我得到 100

如果我使用“CASE WHEN type like 'S' THEN 100 ELSE 1 END”,那么我在 table2 中得到 100(正确答案)

任何人都知道为什么第一个 select insert 语句不起作用?

谢谢!

4

0 回答 0