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%)]

AfterCreate/ AfterDrop/ AfterModify

Spécifie les instructions étendues exécutées après les principales instructions Create, Drop ou Modify. Pour plus d'informations, voir Génération de script.

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/ BeforeDrop/ BeforeModify

Spécifie les instructions étendues exécutées avant les principales instructions Create, Drop ou Modify. Pour plus d'informations, 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 qui seront appliquées à tous les objets. Ces valeurs doivent respecter la syntaxe SQL.

Exemple :

in default_tablespace

Pour plus d'informations, voir Options physiques.

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

Spécifie la fin de l'objet. Le contenu est inséré directement après chaque instructions create objet.

Header

Spécifie l'en-tête de l'objet. Le contenu est inséré directement avant chaque instructions create objet.

MaxConstLen

Spécifie la longueur maximale de nom de contrainte prise en charge pour l'objet dans la base de données cible, où cette valeur est différente de la valeur par défaut. Voir aussi MaxConstLen - définition d'une longueur maximale pour le nom de contrainte).

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écifie une liste d'attributs étendus qui seront pris en compte dans la boîte de dialogue de fusion lors de la synchronisation de base de données. Pour plus d'informations, voir Génération de script.

Exemple (ASE 12.5) :

ExtTablePartition

Options

Spécifie les objets physiques relatives à la création d'un objet.

Exemple (ASA 6) :

in %s : category=tablespace

Pour plus d'informations, voir Options physiques.

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

Reversed Queries

Spécifie une liste de requêtes d'attribut supplémentaires à appeler lors du reverse engineering directe. Pour plus d'informations, voir Reverse engineering direct de base de données.

Reversed Statements

Spécifie une liste d'instructions supplémentaires qui seront récupérées par reverse engineering. Pour plus d'informations, 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,
...