在Oracle中SELECT *,ROW_NUMBER()OVER

时间:2016-07-25 11:54:12

标签: oracle row-number

给出了T-SQL中的一个工作示例:

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

如果我保留*选择器,则会抛出错误ORA-00923: FROM keyword not found where expected

有没有办法保留*选择器,并使其在oracle pl / sql中工作? (目前我只能通过提及所有列名来实现想要的结果)

2 个答案:

答案 0 :(得分:4)

试试这个:

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

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

答案 1 :(得分:3)

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