Définition
La fonction Is_Simple utilise une table comme entrée et renvoie TRUE si elle ne se conforme pas au comportement de la géodatabase étendue (et qu'elle est donc considérée comme une table simple). Parmi les comportements de géodatabases étendues, on compte les suivants :
- Annotation
- Pièces jointes
- Cotations
- Suivi de l'éditeur
- Réseau géométrique
- Mosaïque
- Jeu de données réseau
- Atelier parcellaire
- Catalogue d'images
- Jeu de données raster
- Classe de relations
- Jeu de données schématique
- MNT
- Topologie
Si la table spécifiée ne se conforme pas à la fonctionnalité de la géodatabase étendue (et qu'elle n'est donc pas simple), la fonction Is_Simple renvoie FALSE. Si une table n’est pas simple, elle ne doit pas être mise à jour en dehors d’ArcGIS.
Si la table spécifiée n'est pas inscrite auprès de la géodatabase, la fonction Is_Simple 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_Simple 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_simple (<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é 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
Les exemples suivants illustrent l'utilisation de la fonction Is_Simple dans les bases de données dans lesquelles elle est prise en charge.
Dans le premier exemple, la table gutters appartenant à l'utilisateur pw est interrogée en vue de déterminer si elle est considérée comme une table simple. Puisque la table gutters fait partie d'un réseau géométrique et qu'elle présente une topologie, la fonction Is_Simple renvoie FALSE.
Dans le second exemple, la table surveypts appartenant à l'utilisateur pw est interrogée en vue de déterminer si elle est considérée comme une table simple. Puisque la table surveypts ne se conforme à aucune fonctionnalité de géodatabase, la fonction Is_Simple renvoie TRUE.
Dans le troisième exemple, la table imports appartenant à l'utilisateur mgrs est interrogée. Dans ce cas, la table imports a été créée dans une application tierce et elle n'est pas enregistrée dans la géodatabase.
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