2016-07-25 75 views
2

鉴于T-SQL的工作示例:SELECT *,ROW_NUMBER()OVER甲骨文

SELECT *, ROW_NUMBER() OVER (ORDER BY name) as row_id 
FROM 
[schemaName].[Zoo] 

如果我保持*选择它抛出以下错误ORA-00923: FROM keyword not found where expected

有没有办法保持* selector,并使其在oracle pl/sql中工作? (目前我只能用提所有列名达到想要的结果)

+1

这与plsql有什么关系?如果没有,请从标签列表中删除。谢谢! – mathguy

回答

4

试试这个:

SELECT a.*, ROW_NUMBER() OVER (ORDER BY name) as row_id FROM schemaName.Zoo a 

这里一个是表schemaName.Zoo别名。这将生成原始表中的所有列,并在末尾添加row_id列。

+0

完美,它的工作!谢谢 – meta4

+1

当然,在Oracle中,你需要摆脱方括号。 –

+0

问题不在正方形中,它在别名中,支持Microsoft sql *没有别名,因为我看到Oracle不支持 – meta4

3

使用SELECT t.*, ROW_NUMBER ... FROM tablename t;