您的位置:首页 > 其它

ORA-00918 未明确定义列,with t as 后面只能跟select

2016-03-23 21:50 183 查看
今天在with t as 作为临时表时报了这个错误,查了下原来是列名重复造成的

WITH  t AS (SELECT a.*,1 empno FROM emp a) SELECT * FROM t;

定义为不同的列即可。

另外 with t as 后面必须紧跟select语句,而不態使用update,delete,merge 等语句

如果with t as 后面跟的是union all之类的运算,最终结果集的列明将由unino all首个数据源的列

别名确定

select 1 id,
       12 a,
       13 b 
from dual
union all
select 2,
       8,
       -2
from dual
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: