Definition
"Is_Versioned" gibt anhand einer Tabelle als Eingabe den Wert TRUE zurück, wenn die Tabelle als versioniert registriert ist. "Is_Versioned" gibt FALSE zurück, wenn die Tabelle nicht als versioniert registriert ist. Falls die Tabelle nicht in der Geodatabase registriert ist, gibt sie 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 Archivierung aktiviert wurde.
FALSE wird zurückgegeben, wenn die angegebene Tabelle in der Geodatabase registriert ist, jedoch nicht für die Archivierung aktiviert 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 versioniert ist.
Im zweiten Beispiel wird die Tabelle "crews" abgefragt, die im Besitz von "crewboss" ist, um zu bestimmen, ob diese Tabelle versioniert ist. FALSE wird zurückgegeben, da die Tabelle "crews" nicht versioniert ist.
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