ArcGIS Desktop

  • ArcGIS Pro
  • ArcMap

  • My Profile
  • Aide
  • Sign Out
ArcGIS Desktop

ArcGIS Online

La plateforme cartographique de votre organisation

ArcGIS Desktop

Un SIG professionnel complet

ArcGIS Enterprise

SIG dans votre entreprise

ArcGIS Developers

Outils de création d'applications de localisation

ArcGIS Solutions

Modèles d'applications et de cartes gratuits pour votre secteur d'activité

ArcGIS Marketplace

Téléchargez des applications et des données pour votre organisation.

  • Documentation
  • Support
Esri
  • Se connecter
user
  • Mon profil
  • Déconnexion

ArcMap

  • Accueil
  • Commencer
  • Carte
  • Analyser
  • Gérer les données
  • Outils
  • Extensions

Next_GlobalID

  • Définition
  • Syntaxe
  • Type de retour
  • Exemples

Définition

La fonction Next_GlobalID utilise une table inscrite auprès de la géodatabase comme paramètre en entrée et renvoie la valeur d’identifiant global suivante.

Vous pouvez utiliser cette valeur lorsque vous insérez une ligne dans la table en utilisant le langage SQL.

Le champ d'identifiant global est ajouté pour que la table puisse participer à la réplication de géodatabase ou à l'utilisation de cartes hors connexion.

Une erreur est renvoyée si la table en entrée n'est pas enregistrée avec la géodatabase.

Syntaxe

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

Dans la plupart des géodatabases, la structure de l'administrateur de géodatabase est la structure sde. La structure est cependant dbo dans les géodatabases de structure dbo dans SQL Server et le nom de la structure utilisateur dans les géodatabases de structure utilisateur dans Oracle.

Type de retour

Chaîne

Exemples

Les exemples suivants illustrent l'utilisation de la fonction Next_GlobalID dans chaque base de données la prenant en charge.

L’exemple fourni pour chaque base de données insère un enregistrement dans la table sitings détenue par buse, appelle la procédure Next_RowID pour insérer une valeur dans le champ ObjectID, puis la procédure Next_GlobalID pour insérer une valeur dans le champ d’identifiant global.

Db2

Etant donné que les tables de géodatabase incluent un champ ObjectID non nul, vous devez d'abord obtenir une valeur qui sera insérée dans ce champ. Dans l'exemple suivant, la prochaine valeur RowID est obtenue pour le champ ObjectID (698), puis un enregistrement est inséré dans la table. Cet enregistrement inclut la prochaine valeur RowID et la fonction Next_GlobalID permettant d'insérer une valeur dans le champ d'identifiant global.

--Get the next ObjectID value.
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 the ObjectID from the previous statement to the objectid field.
--Use the Next_GlobalID function to insert a value to the globalid field.
INSERT INTO buse.sitings (objectid, globalid, mon_type)
 VALUES (
  698,
  sde.next_globalid,
  'golem'
 );
The SQL command completed successfully

Oracle

Vous pouvez inclure l'utilitaire Next_GlobalID dans l'instruction INSERT pour insérer la prochaine valeur d'identifiant disponible. L'exemple suivant utilise également l'utilitaire Next_RowID pour insérer une valeur dans le champ ObjectID présent dans toutes les tables de géodatabase. Il est obligatoire de le renseigner.

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

PostgreSQL

Vous pouvez inclure la fonction Next_GlobalID dans l'instruction INSERT pour insérer la prochaine valeur d'identifiant disponible. L'exemple suivant utilise également la fonction Next_RowID pour insérer une valeur dans le champ ObjectID présent dans toutes les tables de géodatabase. Il est obligatoire de le renseigner.

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

SQL Server

Next_GlobalID et Next_RowID sont des procédures stockées qui doivent être exécutées en dehors de l’instruction INSERT pour obtenir les valeurs d’identifiant suivantes. Les deux procédures sont stockées dans la structure de l'administrateur de géodatabase. Dans l'exemple suivant, l'administrateur de géodatabase est sde. Les valeurs renvoyées par les procédures stockées sont utilisées dans l'instruction INSERT pour mettre à jour la table sitings.

--Get the next ObjectID value. DECLARE @oid int EXEC sde.next_rowid 'buse', 'sitings', @oid OUTPUT SELECT @oid "ObjectID value";
ObjectID value 98765
--Get the next global ID value. DECLARE @gid uniqueidentifier EXEC sde.next_globalid @gid OUTPUT SELECT @gid "ID value";
ID value 0D5D0605-8954-4A65-B86C-D2DA96C2D0C5
--Insert a row to the sitings table. INSERT INTO buse.sitings (objectid, globalid, mon_type) VALUES (  98765,  '0D5D0605-8954-4A65-B86C-D2DA96C2D0C5',  'golem'
 );
Astuce :

si vous ne souhaitez pas obtenir la prochaine valeur globalID avant de l'insérer dans la table, vous pouvez utiliser la fonction newid() de SQL Server directement dans l'instruction INSERT, comme illustré à la rubrique Insertion d'une valeur dans une colonne d'identifiant global dans SQL Server à l'aide de SQL.

Rubriques connexes

  • GlobalID_Name
  • Insérer une valeur dans une colonne d’identifiant global ou GUID dans Db2 à l’aide de SQL
  • Insertion d'une valeur dans une colonne d'identifiant global ou GUID dans Oracle avec SQL
  • Insertion d'une valeur dans une colonne d'identifiant global ou GUID dans PostgreSQL avec SQL

ArcGIS Desktop

  • Accueil
  • Documentation
  • Support

ArcGIS

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

A propos d'Esri

  • A propos de la société
  • Carrières
  • Blog d’Esri
  • Conférence des utilisateurs
  • Sommet des développeurs
Esri
Donnez-nous votre avis.
Copyright © 2021 Esri. | Confidentialité | Légal