What are multiversioned views?

Multiversioned views incorporate database views, stored procedures, triggers, and functions to access a specified version of data in a geodatabase table using Structured Query Language (SQL).

Multiversioned views are implemented at the ArcSDE level. This means multiversioned views do not work with functionality implemented at the geodatabase level. For this reason, they should not be used to edit data that participates in geodatabase behavior.

The dataset on which the multiversioned view is based must be registered as versioned. Each versioned dataset has associated delta tables that record edits made to the dataset. When a versioned dataset is accessed through a multiversioned view, all the records in the business table are selected and merged with records from the delta tables to construct a view that includes all the changes made to the business table in the context of the specified version. Multiversioned views appear to have the same columns and rows as the business table they represent. Unlike database or spatial views, multiversioned views are not used to change the table's schema or limit access to it; rather, they are used to facilitate access to a certain version of the table.

Applications that do not support ArcSDE geodatabase versioning can only directly query the business table of a versioned dataset and have no connection with the delta tables. Using multiversioned views with these applications provides them with access to the data in the delta tables.

Multiversioned views are designed primarily to access attribute columns of a table rather than spatial columns, though it is possible to access the spatial column. Accessing the spatial column with a multiversioned view is more straightforward if you are using a spatial type, such as ST_Geometry or SDO_Geometry, to store your geometries; it is more involved if you are using a binary geometry storage type, such as the ArcSDE compressed binary or the Open Geospatial Consortium, Inc. (OGC), well-known binary types.

You can use multiversioned views to read or edit the data in a versioned table using multiversioned views. Editing with multiversioned views is an advanced use of views, is database management system (DBMS) specific, and has the potential to corrupt your geodatabase if not done properly.

The steps you take to edit with multiversioned views at a command prompt are as follows and should be performed in the order shown:

  1. Create a multiversioned view.
  2. Create a version in which to do your edits.
  3. Set the multiversioned view to use the new version.
  4. Start an edit session by executing the edit_version procedure or function appropriate to your database.
  5. Perform your edits on the multiversioned view using SQL.
  6. Commit your edits to the database or roll them back.
  7. Stop the edit session by executing the edit_version procedure or function appropriate to your database.
  8. Reconcile and post your edits through ArcGIS.
  9. When all changes are posted to a parent version using ArcGIS, you can delete the version you created for your edits on the multiversioned view.

Related Topics