【发布时间】:2012-07-11 23:15:09
【问题描述】:
虽然这按预期工作:
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”是不够的)。这只是简化的情况...
【问题讨论】:
标签: sql database oracle select ora-00918