Puede editar datos versionados en una geodatabase de IBM Informix de dos formas: mediante la edición de una versión con nombre a través de una visualización versionada o mediante la edición de la versión Predeterminada a través de una visualización versionada. Consulte Una vista general de la edición de datos versionados usando SQL para obtener una descripción de cada modelo de edición.
En la mayoría de los casos, utilizará solo un modelo de edición. Sin embargo, es posible utilizar ambos modelos en el mismo sitio; por lo tanto, este flujo de trabajo explica cómo utilizar ambos para que pueda ver cómo llevar la transición entre los dos. Si utiliza solo uno, lea la sección específica para editar el modelo que desea utilizar.
Editar la versión Predeterminada
Puede utilizar SQL para conectarse a la versión Predeterminada y editar una vista versionada. No necesita abrir una sesión de edición. Cuando empieza a editar, se conecta automáticamente al estado actual de la versión Predeterminada.
Debería confirmar después de cada edición que realice para evitar el bloqueo de otros usuarios para acceder a las tablas delta de la clase de entidad o tabla.
En los siguientes pasos, se edita una vista versionada (blic_evw). Las ediciones se realizan para que esta vista se escriba en las tablas delta de la tabla versionada blic. Dado que solo hay un par de ediciones, se realizarán en la versión Predeterminada.
- Conéctese a la base de datos desde un cliente SQL. Asegúrese de conectarse como un usuario con privilegios para editar la vista versionada y dataset.
- Lleve a cabo la primera modificación en la vista versionada mediante SQL.
En este ejemplo, se actualiza una fila existente para modificar el nombre del propietario de la propiedad.
UPDATE blic_evw SET propowner = 'C. O. Industry' WHERE lic = 44977;
- Confirme su edición.
COMMIT;
- Realice la siguiente edición.
Se agrega un nuevo registro en la tabla a través de la vista versionada.
INSERT INTO blic_evw (propowner, date_entered, location) VALUES ( 'Moe Esposito', CURRENT DATETIME, sde.ST_PointFromText ('point (0.0125662 0.0046711)', 12));
- Confirme su edición.
COMMIT;
Editar una versión con nombre
Mantiene una pila de actualizaciones para la clase de entidad blic, de manera que decide si sería una buena idea realizar sus ediciones en una versión con nombre.
Las funciones y su sintaxis que utilizará para editar una versión con nombre de la geodatabase:
Función | Propósito | Sintaxis y descripción |
---|---|---|
sde.create_version | Crear una versión de geodatabase con nombre. Si está editando versiones con nombre (versiones distintas a la Predeterminada), siempre edite la suya aparte; varios editores no pueden editar la misma versión con nombre usando vistas versionadas. | EXECUTE FUNCTION sde.create_version ('<parent_version>', '<child_version>', <name_rule>, <access>, '<description>') |
sde.set_current_version | Establece a qué versión de geodatabase y estado accederá. Acceda al estado de la versión que estaba señalando al ejecutar set_current_version. | EXECUTE FUNCTION sde.set_current_version('<child_version>') |
sde.edit_version | Inicia y finaliza una sesión de edición en una versión con nombre. Las ediciones en la transacción están confirmadas siempre que se ejecute esta función. | EXECUTE FUNCTION sde.edit_version('<child_version>',1) Especifique 1 para iniciar la sesión de edición. Especifique 2 para finalizarla. |
Los parámetros en las declaraciones de ejecución representan lo siguiente:
- <parent_version> es la versión desde la cual se crea su versión.
- <child_version> es la versión con nombre que creó para editar.
- <name_rule> indica si el nombre especificado para la versión debería haber sido tomado como dado (2) o debería haberse creado un nombre único cuando se especificó un nombre duplicado (1).
- <access> es el nivel de permiso para la versión: 0 si es privada, 1 si es pública o 2 si es protegida.
- <description> es una descripción de texto de una versión secundaria.
En los siguientes pasos, se crea una versión con nombre (myedits12111) a partir de la versión Predeterminada y las ediciones se realizan en esa versión a través de la vista versionada blic_evw.
- Desde el símbolo del sistema, cree una nueva versión para realizar las modificaciones.
EXECUTE FUNCTION sde.create_version ('sde.DEFAULT', 'myedits12111', 1, 1, 'versioned view edit version');
- Establezca la versión para la sesión de edición como la versión secundaria recién creada.
EXECUTE FUNCTION set_current_version('myedits12111');
Esto establece el estado de edición al estado actual de myedits12111.
- Inicie una sesión de edición mediante la ejecución de la función edit_version y especifique 1. El número 1 indica que se debe iniciar una sesión de edición.
EXECUTE FUNCTION sde.edit_version('myedits12111',1);
- Desde el cliente SQL, inicie una nueva transacción para editar blic_evw.
- Haga un conjunto de ediciones en la vista versionada usando SQL.
INSERT INTO blic_evw (propowner, date_entered, location) VALUES ( 'V. Nay', CURRENT DATETIME, sde.ST_PointFromText ('point (0.0125699 0.0046700)', 12)); UPDATE blic_evw SET (phone1,phone2) = ('555.111.2345','555.111.6789') WHERE propowner = 'Tella Chomsky'; UPDATE blic_evw SET exp_date = '2020-06-30 17:00:00' WHERE lid = 22903; UPDATE blic_evw SET location = sde.ST_PointFromText ('point (0.0125705 0.0046688)', 12)) WHERE lid = 8992; INSERT INTO blic_evw (codenum, propowner) VALUES (456, 'Anjo Badsu'); DELETE FROM blic_evw WHERE lid = 133;
- Confirme sus ediciones.
COMMIT;
- Detenga la sesión de edición mediante una llamada al procedimiento almacenado edit_version, pero esta vez, especifique 2. El número 2 indica que se debe finalizar la sesión de edición.
EXECUTE FUNCTION sde.edit_version('myedits12111',2);
- Al finalizar todas las modificaciones, concílielas y publíquelas por medio de ArcGIS Desktop y, a continuación, elimine la versión de geodatabase que creó en el paso 2. Si decide que no quiere conservar los cambios, puede eliminar la versión que creó en el paso 1 sin conciliar ni publicar las modificaciones.
EXECUTE FUNCTION sde.delete_version('myedits12111');
El texto entre comillas simples se lee literalmente. Por tanto, el texto que escriba entre comillas debe coincidir con el uso de mayúsculas y minúsculas del texto (todo en mayúsculas, todo en minúsculas o mayúsculas y minúsculas) almacenado en la base de datos.
Cambiar de editar una versión con nombre para volver a editar la versión Predeterminada
Si necesita regresar para editar la versión Predeterminada directamente (por ejemplo, si su administrador le dice que otros usuarios en su sitio necesitan ver una edición en particular inmediatamente), puede ejecutar set_default para cambiar y regresar a la edición de la versión Predeterminada. La edición que realice en la versión Predeterminada la pueden ver otros usuarios que estén conectados a Predeterminada tan pronto como se actualicen sus conexiones de cliente.
La función y la sintaxis que utilizará para editar la versión Predeterminada de la geodatabase se describen a continuación:
Función | Propósito | Sintaxis y descripción |
---|---|---|
sde.set_default | Regrese para editar el estado actual de la versión Predeterminada. Ejecute esta función si estaba editando una versión con nombre o un estado específico de la versión Predeterminada, pero desea regresar a editar la versión Predeterminada actual. | EXECUTE FUNCTION sde.set_default ( ) |
- En la ventana SQL, ejecute la función set_default.
EXECUTE FUNCTION sde.set_default();
Ahora se establece la sesión para editar el estado actual al que se refiere la versión Predeterminada.
- Edite la vista versionada blic_evw.
INSERT INTO blic_evw (propowner, b_name, date_entered, location) VALUES ( 'Ruben Gol', CURRENT DATETIME, 'Chez Coiffure', sde.ST_PointFromText ('point (0.0125650 0.0046721)', 12));
- Confirme su edición.
COMMIT;
Otros clientes que se dirigen al mismo estado de la versión Predeterminada o a cualquier estado en su linaje pueden actualizar sus conexiones y ver la nueva entidad de puntos.
Conciliar y publicar las ediciones para la versión con nombre.
Cuando finalice las ediciones en la versión con nombre, debe utilizar ArcGIS para conciliar, revisar y resolver conflictos y publicar sus ediciones. Esto se puede llevar a cabo en ArcGIS Desktop mediante la herramienta de geoprocesamiento Conciliar versiones o una secuencia de comandos Python. Consulte los siguientes temas para obtener más información:
- Un recorrido rápido por la conciliación de una versión
- Conciliar una versión
- Un rápido recorrido por la revisión de conflictos
- Publicar cambios
- Conciliar versiones
Una vez publicadas las modificaciones en la versión Predeterminada, puede eliminar la versión con nombre. La función y la sintaxis que utilizará para eliminar la versión con nombre después de conciliarla y publicarla en la versión Predeterminada de la geodatabase se describen a continuación:
Función | Propósito | Sintaxis y descripción |
---|---|---|
sde.delete_version | Elimine una versión de la geodatabase. | EXECUTE FUNCTION sde.delete_version('<child_version>') |
En el siguiente ejemplo se elimina myedits12111 después de haber conciliado y publicado todas las ediciones en la versión Predeterminada:
EXECUTE FUNCTION sde.delete_version('myedits12111');