SELECT *, ROW_NUMBER() 在 Oracle 中结束
SELECT *, ROW_NUMBER() OVER in Oracle
给出 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 中工作? (目前我只能通过提及所有列名才能达到想要的结果)
试试这个:
SELECT a.*, ROW_NUMBER() OVER (ORDER BY name ) as row_id FROM schemaName.Zoo a
这里a是tableschemaName.Zoo的别名。这将从原始 table 生成所有列,并在末尾添加 row_id 列。
使用SELECT t.*, ROW_NUMBER ... FROM tablename t;
给出 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 中工作? (目前我只能通过提及所有列名才能达到想要的结果)
试试这个:
SELECT a.*, ROW_NUMBER() OVER (ORDER BY name ) as row_id FROM schemaName.Zoo a
这里a是tableschemaName.Zoo的别名。这将从原始 table 生成所有列,并在末尾添加 row_id 列。
使用SELECT t.*, ROW_NUMBER ... FROM tablename t;