De nombreux objets ont une variable de code et une variable de code généré.
Le code est un attribut défini dans une feuille de propriétés d'objet.
Le code généré est un code calculé à partir du code en fonction des options de génération. Il peut être différent dans les cas suivants :
Remarque :
Pour accéder aux variables des sous-objets (colonnes dans une table, par exemple) vous devez utiliser des macros de boucle ou des macros de GTL afin de parcourir la liste des sous-objets. Par exemple, dans un trigger, la macro suivante boucle sur des colonnes de table, et pour chaque colonne ayant l'attribut étendu CannotModify, produit le code de la colonne suivi de "non modifiable" :
.foreach_item(Table.Columns) .if(%CannotModify%) -- "%Code%" non modifiable .endif .next
Pour plus d'informations, voir Macros de MPD.
Les variables suivantes peuvent être utilisées pour toute les définitions d'objet nommé :
Les variables suivantes peuvent être utilisées pour toute les définitions d'objet .
Variable nommée |
Commentaire |
---|---|
COMMENT |
Commentaire de l'objet ou son nom (en l'absence de commentaire) |
OWNER |
Code généré de l'utilisateur propriétaire de l'objet ou de son parent |
DBPREFIX |
Préfixe de base de données de l'objet (nom de la base + '.' si la base est définie) |
QUALIFIER |
Qualifiant complet de l'objet (préfixe de base de données + préfixe de propriétaire) |
OPTIONS |
Texte SQL définissant les options physiques de l'objet |
CONSTNAME |
Nom de contrainte de l'objet |
CONSTRAINT |
Corps SQL de la contrainte de l'objet. Par exemple (A <= 0) AND (A >= 10) |
RULES |
Concaténation de l'expression serveur des règles de gestion associée à l'objet |
Les variables suivantes peuvent être utilisées dans une définition de table:
Nom de la variable |
Commentaire |
---|---|
TABLE |
Code généré de la table |
TNAME |
Nom de la table |
TCODE |
Code de la table |
TLABL |
Commentaire de la table |
PKEYCOLUMNS |
Liste des colonnes de clé primaire. Par exemple : A, B |
TABLDEFN |
Corps complet de la définition de la table. Inclut la définition des colonnes, des contrôles et des clés |
CLASS |
Nom de type de données abstrait |
CLUSTERCOLUMNS |
Liste des colonnes utilisées pour le cluster |
Les variables suivantes peuvent être utilisées dans les définitions des paramètres de contrôle de domaine et des paramètres de contrôle de colonne :
Nom de la variable |
Commentaire |
---|---|
UNIT |
Attribut d'unité pour les contrôles standard |
FORMAT |
Attribut de format pour les contrôles standard |
DATATYPE |
Type de données. Par exemple : int, char(10) ou numeric(8, 2) |
DTTPCODE |
Code de type de données. Par exemple : int, char ou numeric |
LENGTH |
Longueur de type de données. Par exemple : 0, 10 ou 8 |
PREC |
Précision de type de données. Par exemple : 0, 0 ou 2 |
ISRDONLY |
TRUE si l'attribut Non-modifiable est sélectionné dans les contrôles standard |
DEFAULT |
Valeur par défaut |
MINVAL |
Valeur minimale |
MAXVAL |
Valeur maximale |
VALUES |
Liste de valeurs. Par exemple : (0, 1, 2, 3, 4, 5) |
LISTVAL |
Contrainte SQL associée à une liste de valeurs. Par exemple : C1 in (0, 1, 2, 3, 4, 5) |
MINMAX |
Contrainte SQL associée à une valeur minimale et une valeur maximale. Par exemple : (C1 <= 0) AND (C1 >= 5) |
ISMAND |
TRUE si le domaine ou la colonne est obligatoire |
MAND |
Contient les mots clés "null" ou "not null" selon que l'attribut est obligatoire ou non |
NULL |
Contient le mot clé "null" si le domaine ou la colonne n'est pas obligatoire |
NOTNULL |
Contient le mot clé "not null" si le domaine ou la colonne est obligatoire |
IDENTITY |
Mot clé "identity" si le domaine ou la colonne a l'attribut identity (Sybase uniquement) |
WITHDEFAULT |
Mot clé "with default" si le domaine ou la colonne a l'attribut with default |
ISUPPERVAL |
TRUE si l'attribut Majuscules est sélectionné pour les contrôles standard |
ISLOWERVAL |
TRUE si l'attribut Minuscules est sélectionné pour les contrôles standard |
Les variables suivantes peuvent être utilisées dans une définition de colonne :
Nom de la variable |
Commentaire |
---|---|
COLUMN |
Code généré pour la colonne |
COLNNO |
Position de la colonne dans la liste des colonnes de la table |
COLNNAME |
Nom de la colonne |
COLNCODE |
Code de la colonne |
PRIMARY |
Contient le mot clé "primary" si la colonne est une colonne de clé primaire |
ISPKEY |
TRUE si la colonne fait partie d'une clé primaire |
FOREIGN |
TRUE si la colonne fait partie d'une clé étrangère |
COMPUTE |
Calcul sur le texte de la contrainte |
Les variables suivantes peuvent être utilisées dans une définition de type de données abstrait :
Nom de la variable |
Commentaire |
---|---|
ADT |
Code généré pour le type de données abstrait |
TYPE |
Type du type de données abstrait. Par exemple : "array" ou "list" |
SIZE |
Taille du type de données abstrait |
ISARRAY |
TRUE si le type de données abstrait est de type array |
ISLIST |
TRUE si le type de données abstrait est de type list |
ISSTRUCT |
TRUE si le type de données abstrait est de type structure |
ISOBJECT |
TRUE si le type de données abstrait est de type object |
ISJAVA |
TRUE si le type de données abstrait est de type classe JAVA |
ADTDEF |
Contient la définition du type de données abstrait |
La variable suivante peut être utilisée dans une définition d'attribut de type de données abstrait :
Les variables suivantes peuvent être utilisées dans une définition de règle de gestion :
Les variables suivantes peuvent être utilisées dans une définition d'index :
Nom de la variable |
Commentaire |
---|---|
TABLE |
Code généré pour le parent d'un index, il peut s'agir d'une table ou d'une table de requête (vue) |
INDEX |
Code généré pour l'index |
INDEXNAME |
Nom de l'index |
INDEXCODE |
Code de l'index |
UNIQUE |
Contient le mot clé "unique" lorsque l'index est unique |
INDEXTYPE |
Contient le type de l'index (dépend du SGBD) |
CIDXLIST |
Liste des colonnes de l'index. Par exemple : A asc, B desc, C asc |
INDEXKEY |
Contient le mot clé "primary", "unique" ou "foreign" indiquant l'origine de l'index |
CLUSTER |
Contient le mot clé "cluster" s'il s'agit d'un index de type clustered |
INDXDEFN |
Utilisée pour définir un index au sein d'une définition de table |
Les variables suivantes peuvent être utilisées dans des définitions de colonnes d'index :
Nom de la variable |
Commentaire |
---|---|
ASC |
Contient le mot clé "ASC" ou "DESC" en fonction de l'ordre de tri |
ISASC |
TRUE si les colonnes d'index sont triées dans l'ordre croissant |
Les variables suivantes peuvent être utilisées dans une définition de référence :
Nom de la variable |
Commentaire |
---|---|
REFR |
Code généré pour la référence |
PARENT |
Code généré pour la table parent |
PNAME |
Nom de la table parent |
PCODE |
Code de la table parent |
PQUALIFIER |
Qualifiant de la table parent. Voir aussi QUALIFIER |
CHILD |
Code généré pour une table enfant |
CNAME |
Nom de la table enfant |
CCODE |
Code de la table enfant |
CQUALIFIER |
Qualifiant de la table enfant. Voir aussi QUALIFIER |
REFRNAME |
Nom de référence |
REFRCODE |
Code de référence |
FKCONSTRAINT |
Nom de contrainte de clé étrangère (référence) |
PKCONSTRAINT |
Nom de contrainte de la clé primaire utilisée pour faire référence à l'objet |
CKEYCOLUMNS |
Liste des colonnes de clé parent. Par exemple : C1, C2, C3 |
FKEYCOLUMNS |
Liste des colonnes de clé étrangère enfant. Par exemple : C1, C2, C3 |
UPDCONST |
Contrainte déclarative de modification. Il peut s'agir d'un des mots clés suivants : Restrict Cascade Set null Set default |
DELCONST |
Contrainte déclarative de suppression. Il peut s'agir d'un des mots clés suivants Restrict Cascade Set null Set default |
MINCARD |
Cardinalité maximale |
MAXCARD |
Cardinalité minimale |
POWNER |
Nom du propriétaire de la table parent |
COWNER |
Nom du propriétaire de la table enfant |
CHCKONCMMT |
TRUE si vous avez sélectionné "check on commit" pour une référence (ASA 6.0 uniquement) |
JOINS |
Jointures de référence |
REFRNO |
Numéro de la référence dans la collection de références de la table enfant |
Les variables suivantes peuvent être utilisées dans des définitions de colonnes de référence:
Nom de la variable |
Commentaire |
---|---|
CKEYCOLUMN |
Code généré pour la colonne de table parent (clé primaire) |
FKEYCOLUMN |
Code généré pour une colonne de table enfant (clé étrangère) |
PK |
Code généré pour une colonne de clé primaire |
PKNAME |
Nom de colonne de clé primaire |
FK |
Code généré pour une colonne de clé étrangère |
FKNAME |
Nom de colonne de clé étrangère |
AK |
Code de colonne de clé alternative (comme PK) |
AKNAME |
Nom de colonne de clé alternative (comme PKNAME) |
COLTYPE |
Type de données de colonne de clé primaire |
DEFAULT |
Valeur par défaut pour une colonne de clé étrangère |
HOSTCOLTYPE |
Type de données de colonne de clé primaire utilisée dans la déclaration des procédures |
Les variables suivantes peuvent être utilisées dans une définition de clé :
Nom de la variable |
Commentaire |
---|---|
COLUMNS COLNLIST |
Liste des colonnes de clé. Par exemple : "A, B, C" |
ISPKEY |
TRUE lorsqu'une clé est la clé primaire de la table |
PKEY |
Nom de contrainte de clé primaire |
AKEY |
Nom de contrainte de clé alternative |
KEY |
Nom de contrainte de clé |
ISMULTICOLN |
TRUE si la clé est composée de plusieurs colonnes |
CLUSTER |
Mot clé Cluster |
Les variables suivantes peuvent être utilisées dans une définition de vue :
Nom de la variable |
Commentaire |
---|---|
VIEW |
Code généré pour la vue |
VIEWNAME |
Nom de la vue |
VIEWCODE |
Code de la vue |
VIEWCOLN |
Liste des colonnes de la vue. Par exemple : "A, B, C" |
SQL |
Texte SQL d'une vue. Par exemple : Select * from T1 |
VIEWCHECK |
Contient le mot clé "with check option" si cette option est sélectionnée dans la feuille de propriétés de la vue |
SCRIPT |
Ordre complet de création de la vue. Par exemple : create view V1 as select * from T1 |
Les variables répertoriées ci-dessous peuvent être utilisées dans la définition d'un trigger. Vous pouvez également utiliser les variables de table propriétaire dans une définition de trigger.
Nom de la variable |
Commentaire |
---|---|
ORDER |
Numéro de séquence des triggers (si le SGBD courant prend en charge l'utilisation de plusieurs triggers du même type) |
TRIGGER |
Code généré pour le trigger |
REFNO |
Numéro d'ordre de référence dans la liste des références de la table |
ERRNO |
Numéro d'une erreur standard |
ERRMSG |
Message d'une erreur standard |
MSGTAB |
Nom d'une table contenant des messages d'erreur définis par l'utilisateur |
MSGNO |
Nom d'une colonne contenant des numéros d'erreur dans une table d'erreur définie par l'utilisateur |
MSGTXT |
Nom d'une colonne contenant des messages d'erreur contenus dans une table d'erreurs définie par l'utilisateur |
SCRIPT |
Script SQL de trigger ou de procédure |
TRGBODY |
Corps de trigger (uniquement pour le reverse engineering direct d'Oracle) |
TRGDESC |
Description de trigger (uniquement pour le reverse engineering direct d'Oracle) |
TRGDEFN |
Définition de trigger |
Les variables suivantes peuvent être utilisées lors de la génération de base de données, de procédure et de trigger :
Nom de la variable |
Commentaire |
---|---|
DATE |
Date et heure de génération |
USER |
Nom d'ouverture de session pour l'utilisateur exécutant la génération |
PATHSCRIPT |
Chemin d'accès du fichier de script à générer |
NAMESCRIPT |
Nom du fichier de script dans lequel les ordres SQL seront écrits |
STARTCMD |
Description expliquant l'exécution d'un script généré |
ISUPPER |
TRUE si l'option de génération en majuscules est activée |
ISLOWER |
TRUE si l'option de génération en minuscules est activée |
DBMSNAME |
Nom du SGBD associé au modèle généré |
DATABASE |
Code de la base de données associée au modèle généré |
Les variables suivantes peuvent être utilisées lorsque vous procédez au reverse engineering d'une base de données dans un MPD :
Nom de la variable |
Commentaire |
---|---|
R |
Mis à TRUE lors du reverse engineering |
S |
Permet de passer au mot suivant. La chaîne est analysée au cours du reverse engineering, mais pas générée |
D |
Permet de passer à une valeur numérique. La valeur numérique est analysée au cours du reverse engineering, mais pas générée |
A |
Permet de passer tout le texte. Le texte est alors analysé au cours du reverse engineering, mais pas généré |
ISODBCUSER |
TRUE si l'utilisateur courant est l'utilisateur connecté |
CATALOG |
Nom de catalogue qui sera utilisé dans des requêtes de reverse engineering via une connexion directe à la base de données |
SCHEMA |
Structure qui sera utilisée dans les requêtes de reverse engineering via une connexion directe à la base de données |
SIZE |
Taille du type de données d'une colonne ou d'un domaine. Utilisée pour le reverse engineering via une connexion directe à la base de données, lorsqu'aucune longueur de type de données n'est définie dans les tables système |
VALUE |
Une valeur provenant de la liste des valeurs dans une colonne ou un domaine |
TRGTYPE |
Variable utilisée dans la commande Create d'un trigger. Le type de trigger utilise des mots clés pour chaque type de trigger. Par exemple : "BeforeInsert" ou "AfterUpdate" |
TRGEVENT |
Variable utilisée dans la commande Create d'un trigger. L'événement de trigger utilise des mots clés pour chaque événement de trigger. Par exemple : " Insert", "Update", et "Delete" |
TRGTIME |
Variable utilisée dans la commande Create d'un trigger. La temporisation de trigger utilise des utiliser les mots clés "Null", "Before" et "After" |
Les variables suivantes peuvent être utilisées pour la génération de base de données lorsque vous synchronisez un MPD modifié avec une base de données existante :
Nom de la variable |
Commentaire |
---|---|
OLDOWNER |
Nom de l'ancien propriétaire de l'objet. Voir aussi OWNER |
NEWOWNER |
Nom du nouveau propriétaire de l'objet. Voir aussi OWNER |
OLDQUALIFIER |
Ancien qualifiant de l'objet. Voir aussi QUALIFIER |
NEWQUALIFIER |
Nouveau qualifiant de l'objet. Voir aussi QUALIFIER |
OLDTABL |
Ancien code de la table |
NEWTABL |
Nouveau code de la table |
OLDCOLN |
Ancien code de la colonne |
NEWCOLN |
Nouveau code de la colonne |
Les variables de sécurité suivantes sont disponibles :
Nom de la variable |
Commentaire |
---|---|
PRIVLIST |
Liste des privilèges pour une commande d'octroi/révocation |
PERMLIST |
Liste des permissions pour une commande d'octroi/révocation |
GRANTEE |
Nom de l'utilisateur, du groupe ou du rôle pour une commande d'octroi/révocation |
ID |
Nom de l'utilisateur |
GROUP |
Nom du groupe |
ROLE |
Nom du rôle |
OBJECT |
Objets de base de données (table, vue, colonne, etc.) |
PERMISSION |
Commande SQL d'octroi/révocation pour un objet de base de données |
PRIVILEGE |
Commande SQL d'octroi/révocation pour un ID (utilisateur, groupe ou rôle) |
GRANTOPTION |
Option d'octroi : avec option d'accorder / avec option ADMIN |
REVOKEOPTION |
Option de révocation : avec cascade |
Les variables d'options de SGBD et de base de données suivantes sont disponibles :
Les variables spécifique au SGBD suivantes sont disponibles pour Sybase Adaptive Server Anywhere et Microsoft SQL Server :
Nom de la variable |
Commentaire |
---|---|
RULENAME |
Nom d'une règle de gestion associée à un domaine |
DEFAULTNAME |
Nom d'un objet par défaut associé à un domaine |
USE_SP_PKEY |
Utilise la clé sp_primary pour créer des clés primaires (SQL Server |
USE_SP_FKEY |
Utilise la clé sp_foreign pour créer des clés étrangères (SQL Server) |
Les variables suivantes peuvent être utilisées dans une définition de procédure :