Instrução
As instruções fornecidas descrevem como inserir um valor em uma coluna Global ID ou Globally Unique Identifier (GUID) em uma visualização do Geodatabase Enterprise versionada usando Structured Query Language (SQL) para Oracle.
Os tipos de dados de ID global e GUID armazenam strings de estilo de registro que consistem em 36 caracteres entre colchetes. Essas strings identificam exclusivamente uma feição ou linha de tabela em um geodatabase e entre geodatabases. É assim que as feições são rastreadas na replicação de geodatabase unilateral e bidirecional e são usadas em relacionamentos ou em qualquer aplicativo que exija identificadores exclusivos globalmente.
Em um relacionamento, se um campo de ID global for a chave de origem, um campo GUID deve ser a chave de destino. Adicione IDs Globais a uma classe de feição no ArcCatalog clicando com o botão direito do mouse no ArcCatalog e clicando em Adicionar IDs Globais. O geodatabase mantém esses valores automaticamente. Crie o campo GUID no ArcCatalog e mantenha seus valores.
Ao inserir uma linha em uma visualização com versão com uma coluna de ID Global usando SQL, forneça um valor GUID exclusivo para a coluna de ID Global.
Nota: Para mais informações relacionadas a IDs globais, GUIDs e replicação de geodatabase, consulte a Ajuda do ArcGIS Desktop na seção Informações Relacionadas.Os exemplos fornecidos são específicos para Oracle, mas as etapas são semelhantes para outros bancos de dados suportados.
CRIAR OU SUBSTITUIR FUNÇÃO 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; /
concede a execução em gdb_guid ao público;
"geodatabase administrator" table -o create_mv_view -T parcels_v -t parcels -i <port> -u <user> -p <password>
Nota: Para obter mais informações sobre como criar e usar visualizações versionadas no Geodatabase Enterprise, consulte a Ajuda do 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
--Criar uma nova versão. 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 obter mais informações sobre a edição de visualizações versionadas no Geodatabase Enterprise, consulte a Ajuda do ArcGIS Desktop.No exemplo abaixo:
Nota: Para obter mais informações sobre o tipo ST_GEOMETRY e inserção de geometria no Geodatabase Enterprise, consulte a Ajuda do ArcGIS Desktop.
--Defina a versão a editar. exec sde.version_util.set_current_version('USER1.PARCELS_42'); --Inicie a sessão de edição. exec sde.version_user_ddl.edit_version('USER1.PARCELS_42',1); --Execute a inserção desejada. --Para tipos de GEOMETRIA espaciais, uma forma pode ser inserida. insira em valores parcels_v (objectid,globalid,shape) (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))); --For Non-Spatial GEOMETRY Types (Binary, LOB, etc.) a NULL shape MUST be inserted: insert into parcels_v (objectid,globalid,shape) values (sde.version_user_ddl.next_row_id('USER1',113),sde.GDB_GUID, NULL); --Pare a sessão de edição. exec sde.version_user_ddl.edit_version('USER1.PARCELS_42',2); --Confirme a edição. commit;
Obtenha ajuda de especialistas do ArcGIS
Baixe o Aplicativo de Suporte da Esri