Définition
La fonction Is_Versioned utilise une table comme paramètre en entrée et renvoie TRUE si la table est inscrite comme versionnée. Si la table n'est pas inscrite comme versionnée, la fonction Is_Versioned renvoie FALSE. Si la table n'est pas inscrite auprès de la géodatabase, elle renvoie NOT REGISTERED. Sachez que si une table n'existe pas dans la base de données (si, par exemple, vous n'avez pas orthographié son nom correctement), un message indiquant qu'elle n'est pas inscrite est renvoyé car la fonction Is_Versioned ne consulte la table système de géodatabase que pour savoir si la table s'y trouve ou non.
Syntaxe
<geodatabase administrator schema>.is_versioned (<table owner>, <table name>)
Dans la plupart des géodatabases, la structure de l'administrateur de géodatabase est la structure sde. Cependant, dans les géodatabases de structure dbo de SQL Server la structure est dbo et dans les géodatabases de structure utilisateur Oracle, la structure est le nom de la structure utilisateur.
Type de retour
Chaîne
TRUE est renvoyé si la table spécifiée est inscrite auprès de la géodatabase et qu'elle a été activée pour l'archivage.
FALSE est renvoyé si la table spécifiée est inscrite auprès de la géodatabase, mais qu'elle n'a pas été activée pour l'archivage.
NOT REGISTERED est renvoyé si la table spécifiée n'est pas inscrite auprès de la géodatabase, n'existe pas dans la base de données ou si vous n'y avez pas accès.
Exemples
Vous trouverez ci-dessous des exemples d'utilisation de la fonction Is_Versioned dans chaque type de base de données pris en charge.
Le premier exemple illustre une requête sur la table laterals détenue par tech3 visant à déterminer si cette table est versionnée.
Le second exemple illustre une requête sur la table crews détenue par crewboss visant à déterminer si cette table est versionnée. La table crews n'est pas versionnée ; par conséquent, la valeur FALSE est renvoyée.
Le troisième exemple illustre une requête sur la table service areas détenue par dentry. La table service areas n'est pas enregistrée avec la géodatabase.
Db2
VALUES sde.is_versioned('TECH3', 'LATERALS')
TRUE
VALUES sde.is_versioned('CREWBOSS', 'CREWS')
FALSE
VALUES sde.is_versioned('DENTRY', 'SERVICE_AREAS')
NOT REGISTERED
Oracle
SELECT sde.gdb_util.is_versioned('TECH3', 'LATERALS') FROM DUAL;
SDE.GDB_UTIL.IS_VERSIONED('TECH3', 'LATERALS') --------------------------------------------------
TRUE
SELECT sde.gdb_util.is_versioned('CREWBOSS', 'CREWS') FROM DUAL;
SDE.GDB_UTIL.IS_VERSIONED('CREWBOSS', 'CREWS') --------------------------------------------------
FALSE
SELECT sde.gdb_util.is_versioned('DENTRY', 'SERVICE_AREAS') FROM DUAL;
SDE.GDB_UTIL.IS_VERSIONED('DENTRY', 'SERVICE_AREAS') ----------------------------------------------------
NOT REGISTERED
PostgreSQL
SELECT sde.is_versioned('tech3', 'laterals');
TRUE
SELECT sde.is_versioned('crewboss', 'crews');
FALSE
SELECT sde.is_versioned('dentry', 'services_areas');
NOT REGISTERED
SQL Server
SELECT dbo.is_versioned('tech3', 'laterals');
TRUE
SELECT dbo.is_versioned('crewboss', 'crews');
FALSE
SELECT dbo.is_versioned('dentry', 'services_areas');
NOT REGISTERED