虽然这按预期工作:
SQL> 删除表 TEST1; 桌子掉了。 SQL> 创建表 TEST1(COL1 整数,COL2 整数); 表已创建。 SQL> 当 1=1 时插入 2 然后进入测试 1 (COL1, COL2) 3 从双重中选择 1、0; 创建了 1 行。 SQL>
我收到一个奇怪的“ORA-00918:列不明确定义”错误,尝试使用两个以上的列:
SQL> 删除表 TEST1; 桌子掉了。 SQL> 创建表 TEST1(COL1 整数,COL2 整数,COL3 整数); 表已创建。 SQL> 当 1=1 时插入 2 然后进入测试 1(COL1、COL2、COL3) 3 从 DUAL 中选择 1、0、0; 然后进入 TEST1(COL1、COL2、COL3) * 第 2 行的错误: ORA-00918: 列定义不明确 SQL>
为什么我在这里收到 ORA-00918 错误?我可以在 INSERT WHEN ... THEN INTO ... SELECT 模式中选择多少列有限制吗?
注意:我使用的是 Oracle 11.2.0.1.0,我尝试在生产中执行的实际查询更复杂,并且引用了其他表(并且使用“VALUES”是不够的)。这只是简化的情况...