今天在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