Oracle:使用“自动增量”ID列创建视图

时间:2013-01-09 05:53:45

标签: oracle view plsql oracle11g

我创建了一个view来填充来自不同表的数据。我使用了10 select statements并使用UNION ALL组合了这些select语句的结果。

我想在我的视图中添加primary key column。因为我必须使用此XML中的数据创建view文件。所以我在primary key column建筑应用程序中需要XML来处理某个进程。

我已将rownum添加到我的所有select语句中。但它返回了重复的ID。因为每个select语句中的rownum从1开始。

然后我创建了一个序列并尝试使用nextval。但我不能使用序列,因为我的select语句有group byorder by

有没有办法做到这一点?

1 个答案:

答案 0 :(得分:11)

您可以对联合进行选择,例如:

SELECT rownum(),*
FROM (SELECT * FROM tableA UNION ALL SELECT * FROM tableB)

<强>已更新

SELECT rownum, t.*
FROM (SELECT * FROM tableA UNION ALL SELECT * FROM tableB) t