Définition
La fonction Is_Versioned utilise une table comme paramètre en entrée et renvoie TRUE si la table est inscrite dans le cadre du versionnement traditionnel. Si la table n’est pas inscrite en versionnement traditionnel, la fonction Is_Versioned renvoie FALSE. Si la table n’est pas inscrite auprès de la géodatabase, Is_Versioned 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. 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
TRUE est renvoyé si la table spécifiée est inscrite auprès de la géodatabase et qu’elle a été inscrite pour versionnement traditionnel.
FALSE est renvoyé si la table spécifiée est inscrite auprès de la géodatabase mais n’a pas été inscrite en vue du versionnement traditionnel.
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 participe au versionnement traditionnel.
Le second exemple illustre une requête sur la table crews détenue par crewboss visant à déterminer si cette table participe au versionnement traditionnel. La table crews n’est pas inscrite en vue du versionnement traditionnel ; 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