Eléments communs aux différents objets

Les éléments suivants sont disponible dans différents objets situés dans la catégorie Racine > Script > Objects.

Elément

Description

Add

Spécifie l'instruction requise pour ajouter l'objet dans l'instruction de création d'un autre objet.

Exemple (ajout d'une colonne) :

%20:COLUMN% %30:DATATYPE% [default %DEFAULT%] [%IDENTITY%?identity:[%NULL%][%NOTNULL%]]
[[constraint %CONSTNAME%] check (%CONSTRAINT%)]

Alter

Spécifie l'instruction requise pour modifier l'objet.

AlterDBIgnored

Spécifie une liste d'attributs qui doivent être ignorés lors d'une comparaison avant le lancement d'une mise à jour de base de données.

AlterStatementList

Spécifie une liste d'attributs qui, lorsqu'ils sont modifiés, doivent provoquer l'émission d'une instruction alter. Chaque attribut dans la liste est mis en correspondance avec l'instruction alter à utiliser.

BeforeCreate/ AfterCreate / BeforeDrop / AfterDrop / BeforeModify / AfterModify

Spécifie les instructions étendues exécutées avant ou après les instructions principales Create, Drop ou Modify (voir Génération de script).

ConstName

Spécifie un template de nom de contrainte pour l'objet. Le template contrôle la façon dont le nom de l'objet sera généré.

Le template s'applique à tous les objets pour lesquels vous n'avez pas défini de nom de contrainte individuel. Le nom de contrainte qui sera appliqué à un objet est affiché dans sa feuille de propriétés.

Exemples (ASE 15) :

  • Table : CKT_%.U26:TABLE%

  • Colonne : CKC_%.U17:COLUMN%_%.U8:TABLE%

  • Clé primaire : PK_%.U27:TABLE%

Create

[génération et reverse engineering] Spécifie l'instruction requise pour créer l'objet.

Exemple :

create table %TABLE%

DefOptions

Spécifie les valeurs par défaut pour les options physiques (voir Options physiques (SGBD)) qui seront appliquées à tous les objets. Ces valeurs doivent respecter la syntaxe SQL.

Exemple :

in default_tablespace

Drop

Spécifie l'instruction requise pour supprimer l'objet.

Exemple (SQL Anywhere 10) :

if exists( select 1 from sys.systable 
  where table_name=%.q:TABLE%
  and table_type in ('BASE', 'GBL TEMP')[%QUALIFIER%?
  and creator=user_id(%.q:OWNER%)]
) then drop table [%QUALIFIER%]%TABLE%
end if

Enable

Spécifie si un objet est pris en charge.

EnableOwner

Active la définition des propriétaires pour l'objet. Le propriétaire de l'objet peut ne pas être le propriétaire de la table parent. Les valeurs possibles sont les suivantes :

  • Yes - La liste Propriétaire s'affiche dans la feuille de propriétés de l'objet.

  • No – Les propriétaires ne sont pas pris en charge pour l'objet.

Notez que dans le cas d'un propriétaire d'index, vous devez vous assurer que l'instructions Create prend en compte le propriétaire de la table et de l'index. Par exemple, dans Oracle 9i, l'instruction Create d'un index se présente comme suit :

create [%UNIQUE%?%UNIQUE% :[%INDEXTYPE% ]]index [%QUALIFIER%]%INDEX% on [%CLUSTER%?cluster C_%TABLE%:[%TABLQUALIFIER%]%TABLE% (
 %CIDXLIST%
)]
[%OPTIONS%]

%QUALIFIER% fait référence à l'objet courant (index) et %TABLQUALIFIER% fait référence à la table parent de l'index.

EnableSynonym

Active la prise en charge des synonymes pour l'objet.

Footer / Header

Spécifient l'en-tête et la fin de l'objet. Le contenu est inséré directement avant ou après chaque instruction create objet.

MaxConstLen

Spécifie la longueur maximale pour la longueur de nom de contraine prise en charge dans la base de données cible, avec une valeur différente de la valeur par défaut spécifiée dans MaxConstLen (voir Catégorie Script/Objects (SGBD)).

MaxLen

Spécifie la longueur maximale de code pour un objet. Cette valeur est mise en oeuvre lors de la vérification de modèle et produit une erreur si le code dépasse la valeur définie. Le code d'objet est également tronqué au moment de la génération.

Modifiable Attributes

Spécifier une liste d'attributs étendus qui seront pris en compte dans la boîte de dialogue de fusion lors d'une synchronisation de base de données (voir Génération de script).

Exemple (ASE 12.5) :

ExtTablePartition

Options

Spécifie les options physiques (voir Options physiques (SGBD)) disponibles pour application lors de la création d'un objet.

Exemple (ASA 6) :

in %s : category=tablespace

Permission

Spécifie une liste de permissions disponibles pour l'objet. La première colonne est le nom SQL de la permission (SELECT, par exemple), et la seconde colonne est le nom abrégé qui s'affiche dans le titre des colonnes de grille.

Exemple (permissions sur les tables dans ASE 15) :

SELECT / Sel
INSER / Ins
DELETE / Del
UPDATE / Upd
REFERENCES / Ref

ReversedQueries

Spécifie une liste de requêtes d'attributs supplémentaires à appeler lors du reverse engineering direct d'une base de données (voir Reverse engineering direct de base de données).

ReversedStatements

Spécifie une liste d'instructions supplémentaires qui seront récupérées par reverse engineering (voir Reverse engineering de script).

SqlAttrQuery

Spécifie une requête SQL permettant d'extraire des information supplémentaires sur les objets récupérés via reverse engineering par SQLListQuery.

Exemple (Join Index in Oracle 10g) :

{OWNER ID, JIDX ID,  JIDXWHERE ...}
select index_owner, index_name,
outer_table_owner || '.' || outer_table_name || '.' || outer_table_column || '=' || inner_table_owner || '.' || inner_table_name || '.' || inner_table_column || ','
from all_join_ind_columns
where 1=1
[  and index_owner=%.q:OWNER%]
[  and index_name=%.q:JIDX%]

SqlListQuery

Spécifie une requête SQL permettant de répertorier des objets dans la boîte de dialogue de reverse engineering. La requête est exécutée pour renseigner les variables d'en-tête et créer des objets en mémoire.

Exemple (Dimension dans Oracle 10g) :

{ OWNER, DIMENSION }
select d.owner, d.dimension_name
from sys.all_dimensions d
where 1=1
[  and d.dimension_name=%.q:DIMENSION%]
[  and d.owner=%.q:SCHEMA%]
order by d.owner, d.dimension_name

SqlOptsQuery

Spécifie une requête SQL permettant d'extraire les options physiques d'objet sur les objets récupérés via reverse engineering par SqlListQuery. Le résultat de la requête va renseigner la variable %OPTIONS% et doit respecter la syntaxe SQL.

Exemple (Table in SQL Anywhere 10) :

{OWNER, TABLE, OPTIONS}
select u.user_name, t.table_name,
 'in '+ f.dbspace_name
from sys.sysuserperms u
 join sys.systab t on (t.creator = u.user_id)
 join sys.sysfile f on (f.file_id = t.file_id)
where f.dbspace_name <> 'SYSTEM'
 and t.table_type in (1, 3, 4)
[  and t.table_name = %.q:TABLE%]
[  and u.user_name = %.q:OWNER%]

SqlPermQuery

Spécifie une requête SQL permettant de procéder au reverse engineering de permissions accordées sur des tables.

Exemple (Procédure dans SQL Anywhere 10) :

{ GRANTEE, PERMISSION}
select 
u.user_name grantee, 'EXECUTE'
from sysuserperms u, sysprocedure s, sysprocperm p
where (s.proc_name = %.q:PROC% ) and
(s.proc_id = p.proc_id) and
(u.user_id = p.grantee)

Variable par défaut

Dans une colonne, si la variable par défaut est de type texte ou chaîne, la requête doit extraire la valeur de la variable par défaut entre apostrophes. La plupart des SGBD ajoutent ces apostrophes à la valeur de la variable par défaut. Si le SGBD que vous utilisez n'ajoute pas les apostrophes automatiquement, vous devez les spécifier dans les différentes requêtes à l'aide de la variable par défaut.

Par exemple, dans IBM DB2 UDB 8 pour OS/390, la ligne suivante a été ajoutée dans SqlListQuery afin d'ajouter des apostrophes à la valeur de la variable par défaut :

...
 case(default) when '1' then '''' concat defaultvalue concat '''' when '5' then '''' concat defaultvalue concat '''' else defaultvalue end,
...