Definition
"Is_Versioned" gibt anhand einer Tabelle als Eingabeparameter den Wert "TRUE" zurück, wenn die Tabelle für die traditionelle Versionierung registriert ist. Wenn die Tabelle nicht für die traditionelle Versionierung registriert ist, gibt "Is_Versioned" "FALSE" zurück. Falls die Tabelle nicht in der Geodatabase registriert ist, gibt "Is_Versioned" "NOT REGISTERED" zurück. Beachten Sie, dass eine Meldung zurückgegeben wird, die darauf hinweist, dass die Tabelle nicht registriert ist, wenn eine Tabelle nicht in der Datenbank vorhanden ist (wenn Sie z. B. den Namen falsch geschrieben haben), da mit "Is_Versioned" nur in den Geodatabase-Systemtabellen das Vorhandensein der Tabelle überprüft wird.
Syntax
<geodatabase administrator schema>.is_versioned (<table owner>, <table name>)
Bei den meisten Geodatabases lautet das Geodatabase-Administrator-Schema "sde". Im Falle von DBO-Schema-Geodatabases in SQL Server lautet das Schema "dbo", und bei Benutzerschema-Geodatabases in Oracle wird der Name des Benutzerschemas verwendet.
Rückgabetyp
Zeichenfolge
TRUE wird zurückgegeben, wenn die angegebene Tabelle in der Geodatabase registriert ist und für die traditionelle Versionierung registriert wurde.
FALSE wird zurückgegeben, wenn die angegebene Tabelle in der Geodatabase registriert ist, jedoch nicht für die traditionelle Versionierung registriert wurde.
NOT REGISTERED wird zurückgegeben, wenn die angegebene Tabelle nicht in der Geodatabase registriert oder in der Datenbank vorhanden ist bzw. Sie nicht auf die Tabelle zugreifen können.
Beispiele
Nachfolgend finden Sie Beispiele für die Verwendung der Funktion "Is_Versioned" bei allen unterstützten Datenbanktypen.
Im ersten Beispiel wird die Tabelle "laterals" abgefragt, die im Besitz von "tech3" ist, um zu bestimmen, ob diese Tabelle an traditioneller Versionierung beteiligt ist
Im zweiten Beispiel wird die Tabelle "crews" abgefragt, die im Besitz von "crewboss" ist, um zu bestimmen, ob diese Tabelle für die traditionelle Versionierung registriert ist. Da die Tabelle "crews" nicht für die traditionelle Versionierung registriert ist, wird "FALSE" zurückgegeben.
Im dritten Beispiel wird die Tabelle "service_areas" abgefragt, die im Besitz von "dentry" ist. Die Tabelle "service_areas" ist nicht in der Geodatabase registriert.
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