使用多版本化视图读取 Oracle 中已版本化的数据
可以对多版本化视图执行 SQL SELECT 语句以访问版本化数据。
多版本化视图将自动访问 DEFAULT 版本。在对视图发出任何查询之前,必须确保您将查询所需的版本。
要访问不同于 DEFAULT 版本当前状态的特定版本,可执行 ArcSDE version_util.set_current_version 存储过程。此过程将验证所提供的版本名称并在内部设置相应的数据库状态。可以从 SQL 客户端直接执行该过程。用于设置当前版本的存储过程的语法如下:
EXEC sde.version_util.set_current_version('<version_name>')
如果需要更改为其他版本,可以再次调用此过程。每当工作空间刷新时都可调用此过程,以便将版本化表的当前状态返回到调用应用程序。
警告:
不应将多版本化视图用于访问或修改复杂要素(例如,参与几何网络、拓扑、terrain、地籍结构、网络数据集或关系的要素,或具有特定地理数据库行为的要素)。应使用 ArcGIS 来查看和修改这些类型的要素。
步骤:
-
在 MS-DOS (Windows) 或 shell(UNIX 或 Linux)命令提示符处,执行 sdetable 工具以创建多版本化视图。
sdetable –o create_mv_view –T code_mv –t code_enf –i sde:oracle11g –u sarja –p not4U@orasvc
-
在 SQL 提示符处,执行 version_util.set_current_version 工具以设置要编辑的版本。
EXEC sde.version_util.set_current_version('version2')
-
对多版本化视图发出 SELECT 语句以便从地理数据库中读取版本化数据。
SELECT violationID,codenum,propowner,insp_date FROM code_mv WHERE zip = '99999';
相关主题
7/10/2012