Next_GlobalID

Definición

Next_GlobalID toma una tabla que esté registrada con la geodatabase como un parámetro de entrada y devuelve el siguiente valor de GlobalID.

Puede utilizar este valor cuando inserta una fila en la tabla con SQL.

El campo globalID se agrega para permitir que la tabla participe en la replicación de la geodatabase. La función Next_GlobalID no devuelve valores para otros campos GUID.

Puede utilizar este valor cuando inserta una fila en la tabla con SQL.

Se devuelve un error si la tabla de entrada no está registrada con la geodatabase.

NotaNota:

Para utilizar la función Next_GlobalID en PostgreSQL, debe tener el módulo PostgreSQL uuid-ossp contrib instalado en la base de datos en la que se almacena la geodatabase.

Para obtener el siguiente valor de GlobalID en una base de datos de SQL Server, utilice la función newid() de SQL Server.

Sintaxis

<geodatabase administrator schema>.next_globalid (<table owner>, <table name>)

En la mayoría de las geodatabases,el esquema del administrador de la geodatabase es sde. Sin embargo, en geodatabases de esquema dbo en SQL Server es dbo y en geodatabases de esquema de usuario en Oracle es el nombre del esquema del usuario.

Tipo de devolución

Cadena de caracteres

Ejemplos

Los siguientes son ejemplos del uso de la función NextGlobalID en cada base de datos con la que es compatible.

Las tablas que están registradas con la geodatabase contienen columnas ObjectID (RowIDs). Por tanto, cuando inserte un registro en una tabla de geodatabase que contiene una columna GlobalID, también debe insertar un valor de RowID.

El ejemplo para cada base de datos inserta un registro en la tabla emplazamientos de propiedad de buse y llama el procedimiento Next_RowID para insertar un valor en el campo ObjectID y el procedimiento Next_GlobalID para insertar un valor en el campo GlobalID. En DB2, debe llamar el procedimiento Next_RowID primero para obtener un valor para el campo ObjectID y después utilizar ese valor en la sentencia de inserción, que incluye la función Next_GlobalID para insertar un valor en el campo GlobalID.

DB2

Como las tablas de geodatabase incluyen un campo ObjectID no nulo, primero debe obtener un valor para insertar en ese campo. En el siguiente ejemplo, se obtiene el valor del siguiente RowID para el campo ObjectID (698) y luego se inserta un registro en la tabla que incluye el siguiente valor de RowID y la función Next_GlobalID para insertar un valor en el campo GlobalID.

CALL sde.next_rowid('BUSE', 'SITINGS', ?, ?, ?);  Value of output parameters ---------------------------- Parameter Name :   O_ROWID Parameter Value :  698  Parameter Name :   O_MSGCODE Parameter Value :  0  Parameter Name :   O_MESSAGE Parameter Value :  Procedure successfully completed.  Return Status = 1  INSERT INTO buse.sitings (objectid, globalid, mon_type) VALUES (698, sde.next_globalid, 'golem');  The SQL command completed successfully

Oracle

INSERT INTO wuse.sitings (objectid, globalid, mon_type) VALUES (sde.gdb_util.next_rowid('WUSE', 'SITINGS'), sde.gdb_util.next_globalid, 'golem');  1 row created

PostgreSQL

INSERT INTO wuse.sitings (objectid, globalid, mon_type) VALUES (sde.next_rowid('wuse', 'sitings'), sde.next_globalid(), 'golem');  Query returned successfully: 1 row affected, 109 ms execution time.
9/11/2013