如何在架构中创建FORCE EDITIONABLE VIEW
?必须通过Oracle中的db_link检索数据。
它不允许我创建FORCE EDITIONABLE VIEW
,因此我创建了一个普通视图:
(CREATE OR REPLACE VIEW "schema"."view_name)
但它只检索少量记录。
答案 0 :(得分:0)
Documentation表示EDITIONABLE
是默认值。
版本提供了隔离机制,允许同一个对象拥有多个"实例"在同一个数据库中,但每个都是自己的"版本" (即 edition )与其他版本不同。
(我想像版本化,或者Smallworld GIS数据库&#39> 替代,如果您熟悉它的话)。
要使用版本,您必须为用户启用版本(使用ALTER USER命令);是你做的吗?请注意,它不可逆转。
此外,视图(或您的SELECT语句)WHERE
子句是否可以限制行数,而不是EDITIONABLE
参数?
<强> [编辑] 强>
如果我理解正确,这就是正在发生的事情:
数据库链接指向另一个数据库中的用户(否则,您不会使用数据库链接,对吧?)。我们称之为LINK_USER。在该远程数据库上作为LINK_USER连接时,运行
select * from some_table where x = y
并获得100行。
然后,作为LOCAL_USER连接,您创建了一个DB链接和一个看起来与之前的SELECT完全相同的视图:
create database link link_db connect to link_user ...
create or replace view v_some_table as
select * from some_table@link_db where x = y
最后,当您运行时(以LOCAL_USER身份连接)
select * from v_some_table
你不能获得100行但只有28行?那是对的吗?如果没有,请详细说明你做了什么以及如何做。复制/粘贴SQL * Plus会话会很不错。