将行号分配给通过PL-SQL存储过程检索的一组结果
我有一个存储过程,它执行许多select语句,并使用将行号分配给通过PL-SQL存储过程检索的一组结果,sql,plsql,Sql,Plsql,我有一个存储过程,它执行许多select语句,并使用联合连接结果,例如 OPEN myItems FOR SELECT column1, columns2 ... FROM table1 WHERE myCondition UNION SELECT column1, column2 ... FROM table2 WHERE myCondition UNION SELECT column1, column 2.... END 等等 我需要能够唯一地标识返回的数据,
联合
连接结果,例如
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;