CÓMO
Las instrucciones proporcionadas describen cómo insertar un valor en una columna de Id. global o Identificador único global (GUID) en una vista versionada de una geodatabase corporativa con Lenguaje estructurado de consultas (SQL) de Oracle.
Los tipos de datos Id. Global y GUID almacenan cadenas de estilo de registro que constan de 36 caracteres encerrados en llaves. Estas cadenas únicamente identifican una entidad o fila de tabla dentro de una geodatabase y en todas las geodatabases. Así es como se rastrean las entidades en la replicación de geodatabase unidireccional y bidireccional y se utilizan en las relaciones o en cualquier aplicación que requiera identificadores únicos a nivel mundial.
En una relación, si un campo de Id. global es la clave de origen, la clave de destino debe ser un campo GUID. Agregue Id. globales a una clase de entidad en ArcCatalog haciendo clic con el botón derecho en ArcCatalog y haciendo clic en Agregar Id. globales. La geodatabase mantiene estos valores automáticamente. Cree el campo GUID en ArcCatalog y mantenga sus valores.
Al insertar una fila en una vista versionada con una columna de Id. global con SQL, proporcione un valor GUID único para la columna de Id. global.
Nota: Para obtener más información relacionada con Id. globales, GUID y replicación de geodatabase, consulte la Ayuda de ArcGIS Desktop en la sección Información relacionada.Los ejemplos proporcionados son específicos de Oracle, pero los pasos son similares para otras bases de datos compatibles.
CREATE OR REPLACE FUNCTION GDB_GUID RETURN NCHAR IS guid NCHAR (38); BEGIN guid := upper(RAWTOHEX(SYS_GUID())); RETURN '{'||substr(guid,1,8)||'-'||substr(guid,9,4)||'-'||substr(guid,13,4)||'-'||substr(guid,17,4)||'-'||substr(guid,21,12)||'}'; END; /
grant execute on gdb_guid to public;
"geodatabase administrator" table -o create_mv_view -T parcels_v -t parcels -i <port> -u <user> -p <password>
Nota: Para obtener más información sobre cómo crear y utilizar vistas versionadas en una geodatabase corporativa, consulte la Ayuda de ArcGIS Desktop.
select registration_id,table_name from sde.table_registry where table_name='PARCELS'; REGISTRATION_ID TABLE_NAME --------------- --------------------- 113 PARCELS
select srid from sde.st_geometry_columns where table_name='PARCELS' and owner='USER1'; SRID ---------- 7
--Se crea una nueva versión. variable mvvers nvarchar2(97); exec :mvvers := 'PARCELS_42'; exec sde.version_user_ddl.create_version('SDE.DEFAULT',:mvvers,sde.version_util.C_take_name_as_given,sde.version_util.C_version_public,'Parcels WorkOrder 42 Version');
Nota: Para obtener más información sobre cómo editar con vistas versionadas en una geodatabase corporativa, consulte la Ayuda de ArcGIS Desktop.En el ejemplo siguiente:
Nota: Para obtener más información sobre el tipo ST_GEOMETRY y la inserción de geometría en una geodatabase corporativa, consulte la Ayuda de ArcGIS Desktop.
--Se define la versión que se va a editar. exec sde.version_util.set_current_version('USER1.PARCELS_42'); --Se inicia la sesión de edición. exec sde.version_user_ddl.edit_version('USER1.PARCELS_42',1); --Se realiza la inserción deseada. --En los tipos de geometría espacial, es posible insertar una forma. insert into parcels_v (objectid,globalid,shape) values (sde.version_user_ddl.next_row_id('USER1',113),sde.GDB_GUID,(sde.st_polygon ('polygon ((10000 520000, 100008889 55000, 1045545983 234280934, 10000 520000))',7))); --En los tipos de geometría espacial (Binary, LOB, etc.), se DEBE insertar una forma NULL: insert into parcels_v (objectid,globalid,shape) values (sde.version_user_ddl.next_row_id('USER1',113),sde.GDB_GUID, NULL); --Se detiene la sesión de edición. exec sde.version_user_ddl.edit_version('USER1.PARCELS_42',2); --Se confirma la edición. commit;
Obtener ayuda de expertos en ArcGIS
Descargar la aplicación de soporte de Esri