Reading versioned data in Oracle using multiversioned views

You can execute SQL SELECT statements against multiversioned views to access versioned data.

Multiversioned views automatically access the DEFAULT version. Before issuing any queries against the view, you must ensure that you will be querying the required version.

To access a specific version other than the current state of the DEFAULT version, execute the ArcSDE version_util.set_current_version stored procedure. This procedure validates the supplied version name and sets the corresponding database state internally. It can be executed directly from a SQL client. The syntax for the stored procedure to set the current version is as follows:

EXEC sde.version_util.set_current_version('<version_name>')

This procedure may be called again to change to other versions as required and can be called each time the workspace is refreshed to return the current state of the versioned table to the calling application.

CautionCaution:

Multiversioned views should not be used to access or modify complex features such as features that participate in geometric networks, topologies, terrains, cadastral fabrics, network datasets, or relationships or that have specific geodatabase behavior. You should use ArcGIS to view and modify these types of features.

Steps:
  1. At an MS-DOS (Windows) or shell (UNIX or Linux) command prompt, execute the sdetable utility to create a multiversioned view.
    sdetable –o create_mv_view –T code_mv –t code_enf 
    –i sde:oracle11g –u sarja –p not4U@orasvc
  2. At a SQL prompt, execute the version_util.set_current_version utility to set the version you want to edit.
    EXEC sde.version_util.set_current_version('version2')
  3. Issue a SELECT statement against the multiversioned view to read versioned data from the geodatabase.
    SELECT violationID,codenum,propowner,insp_date 
    FROM code_mv 
    WHERE zip = '99999';

Related Topics


11/18/2013