Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

Pré. Proc.

Macros de fonction DDL

Les macros de fonction DDL offrent un moyen pratique de manipuler, de récupérer ou de formater des données d'élément pertinentes pour la génération DDL. Ces macros, ainsi que les macros de fonctions de code, sont disponibles pour les gabarits DDL. Chaque macro de fonction renvoie une string de résultat et est utilisée de la même manière qu'une macro de fonction Code Gabarit .

Les macros de fonction disponibles sont décrites ici. Tous les paramètres ont un type de String et sont indiqués par des crochets ; c'est-à-dire : FUNCTION_NAME([param]).

DDL_DATATYPE_SIZE ([nom du produit], [type de données])

Renvoie le type de données entièrement formaté de la colonne actuelle dans la syntaxe DDL.

Paramètres

  • productName - le SGBD actuellement attribué à Tableau , tel que SQL Server 2012, Oracle ou PostgreSQL
  • type de données - le nom du type de données de la colonne actuelle, tel que VARCHAR ou INT
Remarques

Dans une colonne Tableau Enterprise Architect , les types de données sont définis avec une propriété Type de longueur (0, 1 ou 2) qui influence la syntaxe DDL ; cette macro de fonction prend en compte le Type de longueur (et d'autres facteurs) lors de la construction de la valeur de retour .

DDL_GET_DEFINITION_PARAS ([définition])

Renvoie une représentation sous forme de string des paramètres de la définition de fonction/procédure fournie.

Paramètres

  • définition - la définition SQL complète de la procédure/fonction
Remarques

Certains SGBD (tels que PostgreSQL) prennent en support plusieurs définitions du même nom de procédure/fonction. Les définitions ne diffèrent que par leur liste de paramètres. Par conséquent, pour manipuler de tels objets, le DDL doit spécifier le nom et les paramètres. Cette macro de fonction donne aux gabarits DDL la possibilité d'extraire les paramètres afin qu'ils puissent ensuite être utilisés pour identifier des objets individuels.

DDL_INCLUDE_SQLQUERY([nom_objet])

Renvoie l'instruction SQL définie dans l' object SQLQuery.

Paramètres

  • objectName - le nom de l' object SQL Query défini dans le modèle de données actuel
Remarques

Aucun.

DDL_INDEX_SORT([produit],[colonnes])

Renvoie l'ordre de tri d'un index donné.

Paramètres

  • produit - le SGBD (actuellement, Firebird)
  • colonnes - un CSV des noms de colonnes impliquées dans l'index
Remarques

Cette macro ne s'applique actuellement qu'aux index Firebird.

DDL_RESOLVE_NAME ([productName], [nom], [leftSurround], [rightSurround])

Renvoie le nom fourni délimité (avec les caractères gauche et droit fournis) si le nom est un mot réservé pour le SGBD courant.

Paramètres

  • productName - le SGBD actuellement attribué à Tableau , tel que SQL Server 2012, Oracle ou PostgreSQL
  • name - le nom de l' object /colonne
  • leftSurround - le caractère gauche de la paire utilisé pour entourer le nom ; par exemple, apostrophe {'}
  • rightSurround - le caractère droit de la paire utilisée pour entourer le nom ; par exemple, apostrophe {'}
Remarques

La syntaxe DDL de certains SGBD exige que les noms qui sont des mots réservés soient délimités d'une manière différente ; cette macro de fonction peut être utilisée pour formater en toute sécurité tous les noms pour DB2 et Firebird.

DDL_TABLE_TAGVALUE ([tagName])

Renvoie la valeur du nom de balise fourni dans la version du référentiel du Tableau actuel.

Paramètres

  • tagName - le nom de l'élément de balise qui doit être récupéré
Remarques

Aucun.

EXECUTE_CURRENT ([objectName], [actionName], [priority])

Ajoute la string de retour du gabarit courant à la file d'exécution du Moteur d'Exécution .

Paramètres

  • objectName - la valeur qui sera affichée dans la colonne ' Object ' de la file d'attente d'exécution, qui indique le nom de l' object en cours de mise à jour
  • actionName - la valeur qui sera affichée dans la colonne ' Action ' de la file d'attente d'exécution, qui indique l'action qui a abouti à la génération de cette instruction
  • priorité - une valeur numérique qui représente la priorité de l'instruction ; plus le nombre est élevé, plus l'instruction est placée bas dans la file d'attente
Remarques

Cette macro de fonction peut être appelée à n'importe quel endroit du gabarit , mais ne s'exécutera qu'à la fin. Une fois le gabarit terminé, le DDL qu'il a généré est envoyé dans la file d'exécution.

Cette macro de fonction n'a aucun effet si l'utilisateur a choisi de générer du DDL dans un fichier.

EXECUTE_STRING ([objectName], [actionName], [priority], [ddlStatement])

Ajoute l'instruction DDL fournie à la file d'attente d'exécution du Moteur d'Exécution .

Paramètres

  • objectName - la valeur qui sera affichée dans la colonne ' Object ' de la file d'attente d'exécution, qui indique le nom de l' object en cours de mise à jour
  • actionName - la valeur qui sera affichée dans la colonne ' Action ' de la file d'attente d'exécution, qui indique l'action qui a abouti à la génération de cette instruction
  • priorité - une valeur numérique qui représente la priorité de l'instruction ; plus le nombre est élevé, plus l'instruction est placée bas dans la file d'attente
  • ddlStatement - une seule instruction DDL qui exécute l'action requise
Remarques

Cette macro de fonction n'a aucun effet si l'utilisateur a choisi de générer du DDL dans un fichier.

EXIST_STRING ([ddlStatement])

Recherche dans la file d'attente d'exécution du Moteur d'Exécution l'instruction DDL fournie et renvoie 'T' si l'instruction est trouvée.

Paramètres

  • ddlStatement - une seule instruction DDL
Remarques

Aucun.

GET_FIRST_SQL_KEYWORD([instruction])

Renvoie le premier mot-clé de l'instruction SQL fournie.

Paramètres

  • instruction - l'instruction SQL
Remarques

Aucun.

ODBC_TABLE_TAGVALUE ([tagName])

Renvoie la valeur du nom de balise fourni dans la version de la base de données en direct du tableau actuel.

Paramètres

  • tagName - le nom de l'élément de balise qui doit être récupéré
Remarques

Aucun.

PROCESS_DDL_SCRIPT ([type], [paramètre2], [paramètre3], [paramètre4])

Macro de fonction générique qui renvoie une string formatée dans un but précis.

Paramètres

  • type - spécifie l'action spéciale à entreprendre
  • paramètre2 - paramètre générique 2, aura un but différent pour chaque type
  • paramètre3 - paramètre générique 3, aura un objectif différent pour chaque type
  • paramètre4 - paramètre générique 4, aura un but différent pour chaque type
Remarques

Pour les synonymes Oracle, utilisez ces paramètres :

  • type = "SYNONYMES"
  • paramètre2 = le nom du tableau ; par exemple, TBL_EMPLOYEES
  • paramètre3 = une string de valeurs délimitées, séparées par des points-virgules, spécifiant le propriétaire et le nom du synonyme avec deux-points complets entre ; par exemple, OE:EMPLOYEES ;PUBLIC:PUB_EMPLOYEES ;
  • paramètre4 = le terminateur de l'instruction
Retourner le résultat

Du format :

CRÉER LE SYNONYME OE.EMPLOYEES POUR TBL_EMPLOYEES ;

CRÉER UN SYNONYME PUBLIC PUB_EMPLOYEES POUR TBL_EMPLOYEES ;

REMOVE_LAST_SEPARATOR ([ddlStatement], [séparateur])

Renvoie l'instruction DDL fournie avec le dernier séparateur supprimé (s'il existe).

Paramètres

  • ddlStatement - une instruction DDL partielle
  • séparateur - le caractère de séparation qui doit être supprimé
Remarques

Lors de la construction d'une string qui représente une instruction DDL, il est courant d'ajouter le caractère de séparation après chaque élément ; cependant, le séparateur n'est pas requis après le dernier élément, donc cette macro de fonction est fournie pour supprimer le séparateur de fin.

REMOVE_STRING ([ddlStatement])

Supprime l'instruction DDL fournie de la file d'attente d'exécution du Moteur d'Exécution .

Paramètres

  • ddlStatement - une seule instruction DDL
Remarques

Aucun.

SUPPRESS_EXECUTE_CURRENT ([booléen])

Une macro de fonction pour activer/désactiver les appels ultérieurs à EXECUTE_CURRENT.

Paramètres

  • booléen - vrai ou faux
Remarques

L'état par défaut de cet indicateur est False ; autrement dit, les appels à EXECUTE_CURRENT ne sont pas ignorés.