【发布时间】:2012-03-19 21:35:24
【问题描述】:
我可以使用数据库生成的主键创建一个 oracle“视图”吗?
我想创建一个视图,其 ID 是从 Sequence 对象生成的数据库 ID。
【问题讨论】:
-
一个 VIEW 只是一个 sql 语句 - 您是否希望每次对视图运行查询时都保留相同的 ID?如果是这样 - 那么您需要先将此值存储在一个表中。
标签: sql database oracle database-design
我可以使用数据库生成的主键创建一个 oracle“视图”吗?
我想创建一个视图,其 ID 是从 Sequence 对象生成的数据库 ID。
【问题讨论】:
标签: sql database oracle database-design
你不能完全这样做,但你可以这样做:
select rownum, field1, field2
from...
rownum 是一个自动生成的字段,它完全包含它,但它是在排序记录之前分配的,所以如果你有 ORDER BY 子句,那么你必须这样做:
Select rownum, *
from (select ....
order by ....)
【讨论】:
UPDATE 行之类的操作。在视图中生成密钥会破坏这两个目的。