oracle with as 提示此处不允许序号
时间: 2024-02-27 14:55:52 浏览: 135
Oracle AS关键字 提示错误
如果在使用Oracle的WITH子句时遇到此处不允许序号的错误,那么很可能是因为WITH子句中的列名与序号重复了。例如,下面的SQL语句将在执行时引发此错误:
```
WITH mydata (id, name) AS (
SELECT 1, 'John' FROM dual
UNION ALL
SELECT 2, 'Jane' FROM dual
)
SELECT * FROM mydata;
```
在上述SQL语句中,WITH子句定义了两列(id和name),并使用了列序号来指定它们。但是,SELECT语句也使用了相同的列序号,这将导致此处不允许序号的错误。
要解决这个问题,您可以使用列名来替代列序号。例如,将上述SQL语句改为以下形式:
```
WITH mydata (id, name) AS (
SELECT 1 as id, 'John' as name FROM dual
UNION ALL
SELECT 2 as id, 'Jane' as name FROM dual
)
SELECT * FROM mydata;
```
这样,每个列都有一个唯一的列名,就不会再出现此处不允许序号的错误。
阅读全文