Editar datos de una geodatabase no versionada en DB2 con SQL

Puede utilizar SQL para actualizar, insertar datos y eliminar datos de tablas no versionadas en la geodatabase si no participan en el comportamiento de la geodatabase. Consulte ¿Qué tipo de datos puede editarse con SQL? para obtener información sobre los tipos de datos y comportamiento de la base de datos que no puede editar con SQL.

Todos los datos que se registran con la geodatabase tienen un campo ObjectID (Id. de fila) único, no nulo, mantenido por el sistema. Cuando utiliza SQL para insertar registros en las tablas no versionadas en la geodatabase, debe proporcionar un valor único para ObjectID.

Este conjunto de instrucciones describe cómo actualizar una fila por vez. Posiblemente escribirá una rutina o un programa cliente para recuperar los ObjectID y actualizar los datos.

Pasos:
  1. Inicie sesión en la base de datos desde un editor de SQL como DB2 Call Level Interface.

    Asegúrese de iniciar sesión en la base de datos como un usuario que tiene permiso para editar los datos.

  2. Ejecute una sentencia SQL similar a la siguiente para llamar el procedimiento almacenado Next_RowID.

    El procedimiento almacenado Next_RowID toma el propietario de la tabla y el nombre de la tabla como entradas para devolver el siguiente ObjectID para la tabla.

    En este ejemplo, SIG es el propietario de la tabla, FACTORIES es el nombre de la tabla, y los tres signos de interrogación indican los tres parámetros que se devuelven: ROWID, MSGCODE y MESSAGE.

    CALL SDE.next_rowid('GIS','FACTORIES',?,?,?) Value of output parameters -----------------------------  Parameter Name : O_ROWID Parameter Value : 18  Parameter Name : O_MSGCODE Parameter Value : 0  Parameter Name : O_MESSAGE Parameter Value : Procedure successfully completed.  Return Status = 1
    
  3. Inserte un registro en la tabla utilizando el valor O_ROWID devuelto por la sentencia llamada previamente.
    INSERT INTO FACTORIES (OBJECTID,NAME,SHAPE) VALUES( 18, 'megafactory', db2gse.ST_PolyFromText('POLYGON( ( 50 31, 54 31, 54 29, 50 29, 50 31) )', db2gse.coordref()..srid(101)) );
    
  4. Puede continuar editando o, si ya terminó, puede confirmar las modificaciones en la base de datos.

Temas relacionados

9/11/2013