Leer datos versionados en Oracle con vistas multiversionadas
Puede ejecutar las declaraciones SQL SELECT contra vistas multiversionadas para acceder a los datos multiversionados.
Las vistas multiversionadas acceden automáticamente a la versión DEFAULT. Antes de hacer cualquier consulta contra la vista, debe asegurarse de que está consultando la versión requerida.
Para acceder a una versión específica diferente del estado actual de la versión DEFAULT, ejecute el procedimiento almacenado version_util.set_current_version de ArcSDE. Este procedimiento valida el nombre de versión proporcionado y configura internamente el estado de la base de datos correspondiente. Se puede ejecutar directamente desde un cliente SQL. La sintaxis para que el procedimiento almacenado configure la versión actual es la siguiente:
EXEC sde.version_util.set_current_version('<version_name>')
Este procedimiento se puede invocar otra vez para cambiar a otras versiones según se requiera, y se puede invocar cada vez que el espacio de trabajo se actualice para devolver el estado actual de la tabla versionada a la aplicación que la invoca.
Las vistas multiversionadas no deberían utilizarse para acceder a entidades complejas o modificarlas, como las entidades que participan en redes geométricas, topologías, terrenos, estructuras catastrales, datasets de red, relaciones, o entidades con un comportamiento de geodatabase específico. Debería usar ArcGIS para visualizar y modificar estos tipos de entidades.
-
Ejecute la utilidad sdetable para crear una vista multiversionada en una ventana de comando de MS-DOS (Windows) o de shell (UNIX o Linux).
sdetable –o create_mv_view –T code_mv –t code_enf –i sde:oracle11g –u sarja –p not4U@orasvc
-
En una ventana de SQL, ejecute la utilidad version_util.set_current_version para establecer la versión que desea editar.
EXEC sde.version_util.set_current_version('version2')
-
Emita la declaración SELECT contra la vista multiversionada para leer los datos versionados desde la geodatabase.
SELECT violationID,codenum,propowner,insp_date FROM code_mv WHERE zip = '99999';