繁体   English   中英

将行号分配给通过PL-SQL存储过程检索的结果集

[英]Assign row numbers to a set of results retrieved via a PL-SQL Stored Procedure

我有一个存储过程,该过程执行许多select语句,并使用UNION联接结果,例如

OPEN myItems FOR
   SELECT column1, columns2 ... FROM table1 WHERE myCondition
   UNION
   SELECT column1, column2 ... FROM table2 WHERE myCondition
   UNION
   SELECT column1, column 2....
END

等等。

我需要能够唯一地标识返回的数据,因此我希望能够为返回的行分配行号。

我想有一个简单的方法可以做到这一点,但是不幸的是我还没找到它!

谢谢

SELECT ROW_NUMBER() OVER (ORDER BY column1) AS row_num, t.* 
FROM (
   SELECT column1, columns2 ... FROM table1 WHERE myCondition
   UNION
   SELECT column1, column2 ... FROM table2 WHERE myCondition
   UNION
   SELECT column1, column 2.... 
) t;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM