Variables de MPD

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 :

  • Lorsque le code est un mot réservé ou s'il contient des caractères incorrects, le code généré est placé entre apostrophes ou guillemets

  • Lorsque le code est plus long que ce qui est permis par la base de données, le code généré est tronqué

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.

Variables communes à tous les objets nommés

Les variables suivantes peuvent être utilisées pour toute les définitions d'objet nommé :

Variable nommée

Commentaire

@OBJTNAME

Nom de l'objet

@OBJTCODE

Code de l'objet

@OBJTLABL

Commentaire de l'objet

@OBJTDESC

Description de l'objet

Variables communes aux objets

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

Variables de table

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

Variables pour les domaines et les contrôles de colonne

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

Variables de colonne

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

Variables de type de données abstrait

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

Variables d'attribut de type de données abstrait

La variable suivante peut être utilisée dans une définition d'attribut de type de données abstrait :

Nom de la variable

Commentaire

ADTATTR

Code généré pour un attribut de type de données abstrait

Variables de domaine

La variable suivante peut être utilisée dans une définition de domaine :

Nom de la variable

Commentaire

DOMAIN

Code généré pour un domaine (également disponible pour une colonne)

Variables de règle de gestion

Les variables suivantes peuvent être utilisées dans une définition de règle de gestion :

Nom de la variable

Commentaire

RULE

Code généré pour une règle de gestion

RULENAME

Nom de règle

RULECODE

Code de règle

RULECEXPR

Expression client de règle

RULESEXPR

Expression serveur de règle

Variables d'index

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

Variables de colonne d'index

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

Variables de référence

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

Variables de colonne de référence

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

Variables de clé

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

Variables de vue

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

Variables de trigger

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

Variables de génération de base de données, triggers et procédures

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é

Variables de reverse engineering

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"

Variables de synchronisation de base de données

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

Variables de sécurité de base de données

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

Variables de métadonnées

Les variables de métadonnées suivantes sont disponibles :

Nom de la variable

Commentaire

@CLSSNAME

Nom localisé de la classe d'objets. Par exemple : Table, View, Column, Index

@CLSSCODE

Code de classe de l'objet. Par exemple : TABL, VIEW, COLN, INDX

Variables de SGBD et d'option de base de données

Les variables d'options de SGBD et de base de données suivantes sont disponibles :

Nom de la variable

Commentaire

TABLESPACE

Code généré pour un tablespace

STORAGE

Code généré pour un storage

Variables pour ASE & SQL Server

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)

Variable de séquence

La variable suivante peut être utilisée dans une définition de séquence :

Nom de la variable

Commentaire

SQNC

Nom de séquence

Variables de procédure

Les variables suivantes peuvent être utilisées dans une définition de procédure :

Nom de la variable

Commentaire

PROC

Code généré pour une procédure (également disponible pour un trigger lorsqu'il est mis en oeuvre à l'aide d'une procédure)

FUNC

Code généré pour une procédure lorsque la procédure est une fonction (avec une valeur de retour)

Variables de Join index (IQ)

Les variables suivantes peuvent être utilisées dans une définition de join index :

Nom de la variable

Commentaire

JIDX

Code généré pour le join index

JIDXDEFN

Corps complet de la définition du join index

REFRLIST

Liste des références (pour une connexion directe)

RFJNLIST

Liste des jointures de référence (pour une connexion directe)