Vous pouvez interroger la colonne de définition de la table GDB_Items (ou la vue GDB_Items_vw dans Oracle) pour obtenir une liste des classes d'entités dont la valeur versionnée est définie sur vrai (ou 1, selon la base de données).
Ainsi qu’il est mentionné dans SQL et géodatabases d’entreprise, vous devez créer des vues versionnées pour mettre à jour des données versionnées à l’aide de SQL. Il est donc utile de déterminer quelles classes d'entités dans une géodatabase sont versionnées afin de savoir si vous devez créer des vues versionnées d'une classe d'entités avant de la mettre à jour à l'aide de SQL.
Les exemples de requête suivants renvoient une liste de toutes les classes d'entités versionnées dans la géodatabase sur laquelle l'instruction a été exécutée.
--Queries PostgreSQL
--Returns a list of versioned datasets in the specified geodatabase
SELECT name AS "Versioned feature class",
FROM sde.gdb_items
WHERE (xpath('//Versioned/text()', definition))[1]::text = 'true';
--Queries a dbo-schema geodatabase in SQL Server
--Returns a list of versioned datasets in the specified geodatabase
SELECT NAME AS "Versioned feature class" FROM dbo.GDB_ITEMS WHERE Definition.exist('(/*/Versioned)[1]') = 1
AND Definition.value('(/*/Versioned)[1]', 'nvarchar(4)') = 'true'
--Queries Oracle
--Returns a list of versioned datasets in the specified geodatabase
SELECT items.name AS Dataset, itemtypes.name AS Dataset_Type FROM sde.gdb_items_vw items, sde.gdb_itemtypes itemtypes WHERE items.definition LIKE '%Versioned>true%'
AND items.type = itemtypes.uuid;