Definition
Is_Simple takes a table as input and returns TRUE if the table does not participate in extended geodatabase behavior (and is therefore considered a simple table). Extended geodatabase behavior includes the following:
- Annotation
- Attachments
- Dimensions
- Editor tracking
- Geometric network
- Mosaic dataset
- Network dataset
- Parcel fabric
- Raster catalog
- Raster dataset
- Relationship class
- Schematic dataset
- Terrain
- Topology
If the specified table does participate in extended geodatabase functionality (and is therefore not simple), Is_Simple returns FALSE. If a table is not simple, it should not be edited outside ArcGIS.
If the specified table is not registered with the geodatabase, Is_Simple returns NOT REGISTERED. Be aware that if a table doesn't exist in the database (for example, if you mistyped the name), a message that the table is not registered is returned because Is_Simple only checks the geodatabase system tables for the presence or absence of the table.
Syntax
<geodatabase administrator schema>.is_simple (<table owner>, <table name>)
In most geodatabases, the geodatabase administrator schema is sde. However, it is dbo in dbo-schema geodatabases in SQL Server, and in user-schema geodatabases in Oracle, it is the name of the user's schema.
Return type
String
TRUE is returned if the specified table is registered with the geodatabase and has been enabled for archiving.
FALSE is returned if the specified table is registered with the geodatabase but has not been enabled for archiving.
NOT REGISTERED is returned if the specified table is not registered with the geodatabase, does not exist in the database, or you do not have access to the table.
Examples
The following are examples of using the Is_Simple function in the databases in which it is supported.
In the first example, the gutters table owned by the pw user is queried to determine if it is considered a simple table. Since the gutters table participates in a geometric network and has topology, the Is_Simple function returns FALSE.
In the second example, the surveypts table owned by the pw user is queried to determine if it is considered a simple table. Because the surveypts table does not participate in any geodatabase functionality, the Is_Simple function returns TRUE.
In the third example, the imports table owned by the mgrs user is queried. In this case, the imports table was created with a third-party application and is not registered with the geodatabase.
Db2
VALUES sde.is_simple('PW','GUTTERS')
FALSE
VALUES sde.is_simple('PW','SURVEYPTS')
TRUE
VALUES sde.is_simple('MGRS','IMPORTS')
NOT REGISTERED
Oracle
SELECT SDE.GDB_UTIL.Is_Simple('PW', 'GUTTERS')
FROM DUAL;
SDE.GDB_UTIL.IS_SIMPLE('PW', 'GUTTERS')
---------------------------------------------------
FALSE
SELECT ENG.GDB_UTIL.Is_Simple('ENG', 'SURVEYPTS')
FROM DUAL;
ENG.GDB_UTIL.IS_SIMPLE('PW', 'SURVEYPTS')
---------------------------------------------------
TRUE
SELECT SDE.GDB_UTIL.Is_Simple('MGRS', 'IMPORTS')
FROM DUAL;
SDE.GDB_UTIL.IS_SIMPLE('MGRS', 'IMPORTS')
---------------------------------------------------
NOT REGISTERED
PostgreSQL
SELECT sde.is_simple('pw', 'gutters');
FALSE
SELECT sde.is_simple('pw', 'surveypts');
TRUE
SELECT sde.is_simple('mgrs', 'imports');
NOT REGISTERED
SQL Server
DECLARE @owner nvarchar(128) = 'pw';
DECLARE @table nvarchar(128) = 'gutters';
SELECT dbo.is_simple(@owner, @table) "Simple?"
Simple?
FALSE
DECLARE @owner nvarchar(128) = 'eng';
DECLARE @table nvarchar(128) = 'surveypts';
SELECT sde.is_simple(@owner, @table) "Simple?"
Simple?
TRUE
DECLARE @owner nvarchar(128) = 'mgrs';
DECLARE @table nvarchar(128) = 'imports';
SELECT sde.is_simple(@owner, @table) "Simple?"
Simple?
NOT REGISTERED