ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Ayuda
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plataforma de representación cartográfica para tu organización

ArcGIS Desktop

Un completo SIG profesional

ArcGIS Enterprise

SIG en tu empresa

ArcGIS Developers

Herramientas para crear aplicaciones basadas en la ubicación

ArcGIS Solutions

Plantillas de aplicaciones y mapas gratuitas para tu sector

ArcGIS Marketplace

Obtén aplicaciones y datos para tu organización.

  • Documentación
  • Soporte
Esri
  • Iniciar sesión
user
  • Mi perfil
  • Cerrar sesión

ArcMap

  • Inicio
  • Introducción
  • Cartografiar
  • Analizar
  • Administrar datos
  • Herramientas
  • Extensiones

Editar datos versionados en SQL Server usando SQL

  • Editar la versión Predeterminada
  • Editar una versión con nombre
  • Cambiar de editar una versión con nombre para volver a editar la versión Predeterminada
  • Conciliar y publicar las ediciones para la versión con nombre.
Complejidad:
Principiante
Requisitos de datos:
Usar datos propios

Para usar SQL para editar datos registrados como versionados (tradicionales), debe usar una vista versionada. Puede editar la versión Predeterminada o una versión con nombre a través de una vista versionada. Consulte Una vista general de la edición de datos versionados usando SQL para obtener una descripción de cada opción.

En la mayoría de los casos, utilizará solo un modelo de edición. Sin embargo, es posible utilizar ambos 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 usted comienza a editar, se le 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 realizadas a esta vista se registran en las tablas delta de la tabla versionada blic. Ya que solamente hay un par de ediciones, las realizará en la versión Predeterminada.

  1. 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.
  2. 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;
    
  3. Realice la siguiente edición.

    Se agrega un nuevo registro en la tabla a través de la vista versionada. La tabla contiene una columna de geometría (ubicación).

    INSERT INTO blic_evw (propowner, date_entered, location)
    VALUES (
      'Moe Esposito', 
      GETDATE(), 
      geometry::STGeomFromText ('POINT (0.0125662 0.0046711)', 12));
    

    Sugerencia:

    En la sentencia INSERT, no se especifica ningún valor ObjectID; la vista versionada obtiene automáticamente el siguiente ObjectID disponible y lo inserta en la fila.

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.

Los siguientes son procedimientos almacenados y su sintaxis que utilizará para editar una versión con nombre de la geodatabase:

Procedimiento almacenadoPropósitoSintaxis y descripción

create_version

Crear una versión de geodatabase con nombre.

Si está editando versiones con nombre (que no sean la Predeterminada), edite siempre su propia versión independiente; no puede haber varios editores editando la misma versión con nombre si utilizan vistas versionadas.

EXEC {dbo | sde}.create_version '<parent_version>', '<child_version>', <name_rule>, <access>, '<description>'

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.

EXEC {dbo | sde}.set_current_version '<child_version>'

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 este procedimiento.

EXEC {dbo | sde}.edit_version '<child_version>', {1 | 2}

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:

  • {dbo|sde} indica el usuario propietario del procedimiento. Si dispone de una geodatabase de esquema sde, utilice sde; si dispone de una geodatabase de esquema dbo, utilice dbo.
  • <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 Predeterminada y las ediciones se realizan en esa versión mediante la vista versionada blic_evw.

  1. Abra una ventana de consulta de Transact SQL y ejecute el procedimiento create_version para crear una versión con nombre en la que realizar las ediciones.
    EXEC sde.create_version 'sde.DEFAULT', 'myedits12111', 1, 2, 'version for my mv edits';
    
  2. Establezca la versión para la sesión de edición como la versión secundaria recién creada.
    EXEC sde.set_current_version 'myedits12111';
    
  3. Inicie una sesión de edición mediante la ejecución del procedimiento almacenado edit_version y especifique 1.
    EXEC sde.edit_version 'myedits12111', 1;
    

    El número 1 indica que se debe iniciar una sesión de edición.

  4. Haga un conjunto de ediciones en la vista versionada usando SQL.
    INSERT INTO blic_evw (propowner, date_entered, location)
    VALUES (
      'V. Nay', 
      getdate(), 
      geometry::STGeomFromText('point (0.0125699 0.0046700)', 12));
    UPDATE blic_evw 
    SET phone1 = '555.111.2345', phone2 = '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 = geometry::STGeomFromText('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;
    
  5. Se realizan más ediciones en SQL. Después de finalizar el siguiente conjunto de ediciones, cierre la sesión de edición.
  6. Detenga la sesión de edición mediante la ejecución del procedimiento almacenado edit_version, pero esta vez, especifique 2. El número 2 indica que se debe finalizar la sesión de edición.
    EXEC sde.edit_version 'myedits', 2;
    

    Sugerencia:

    Solo puede editar una versión por sesión de edición. Por ejemplo, si desea editar una segunda versión (tal como mynewedits), debe cerrar la sesión de edición en myedits12111, como se muestra en este paso. A continuación podría ejecutar set_current_version para señalar la versión mynewedits e iniciar una sesión de edición al ejecutar edit_version.

Cambiar de editar una versión con nombre para volver a editar la versión Predeterminada

Si necesita regresar a la edición de 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 version_user_ddl.set_default para cambiar y regresar a la edición de la versión Predeterminada. Las ediciones que realice en la versión Predeterminada las pueden ver otros usuarios que estén conectados tan pronto como se actualicen sus conexiones de cliente.

El procedimiento almacenado y la sintaxis que utilizará para editar la versión Predeterminada de la geodatabase se describen a continuación:

Procedimiento almacenadoPropósitoSintaxis y descripción

set_default

Volver a editar el estado actual de la versión Predeterminada.

Ejecute este procedimiento 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.

EXEC {sde | dbo}.set_default

  1. En la ventana Transact-SQL, ejecute el procedimiento set_default.
    EXEC sde.set_default;
    

    Ahora se establece la sesión para editar el estado actual al que se refiere la versión Predeterminada.

  2. Edite la vista versionada blic_evw.
    INSERT INTO blic_evw (propowner, b_name, date_entered, location) VALUES (  'Ruben Gol',   getdate(), 
      'Chez Coiffure',  geometry::STGeomFromText('point (0.0125650 0.0046721)', 12));
    

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. Este proceso se puede realizar en ArcGIS Desktop mediante la herramienta de geoprocesamiento Conciliar versiones o un script de 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
Sugerencia:

Si los datos que edita están registrados como versionados con opción de mover las ediciones a la base, las ediciones se mueven a la tabla base después de que usted concilie y publique en la versión Predeterminada.

Una vez que las ediciones estén publicadas en la versión Predeterminada, podrá eliminar su versión con nombre. El procedimiento almacenado y la sintaxis para eliminar la versión con nombre después de conciliar y publicar en la versión Predeterminada de la geodatabase son los siguientes:

Procedimiento almacenadoPropósitoSintaxis y descripción

delete_version

Elimine una versión de la geodatabase.

EXEC {dbo | sde}.delete_version '<child_version>'

El siguiente ejemplo elimina myedits12111 después de que se hayan conciliado y publicado todas las ediciones en la versión Predeterminada:

EXEC sde.delete_version 'myedits12111';

Temas relacionados

  • Una vista general de la edición de datos versionados con SQL
  • ¿Qué es una vista versionada?
  • Habilitar el acceso con SQL a datos de geodatabases desde ArcGIS Desktop
  • Version_View_Name
  • Is_Versioned

ArcGIS Desktop

  • Inicio
  • Documentación
  • Soporte

ArcGIS

  • ArcGIS Online
  • ArcGIS Desktop
  • ArcGIS Enterprise
  • ArcGIS
  • ArcGIS Developer
  • ArcGIS Solutions
  • ArcGIS Marketplace

Acerca de Esri

  • Quiénes somos
  • Empleo
  • Blog de Esri
  • Conferencia de usuarios
  • Cumbre de desarrolladores
Esri
Díganos su opinión.
Copyright © 2021 Esri. | Privacidad | Legal