Appel de sous-requêtes à l'aide du mot clé EX

Les tables système de SGBD peuvent stocker des informations que vous pouvez souhaiter pouvoir récupérer par le reverse engineering dans des colonnes de type LONG, BLOB, TEXT et autres types de données non compatibles, et PowerAMC ne peut pas les concaténer directement dans des chaînes.

Vous pouvez contourner cette limitation en utilisant le mot clé EX et en créant des requêtes et des variables personnalisées dans les requêtes de reverse engineering existantes à l'aide de la syntaxe suivante :

%UserDefinedQueryName.UserDefinedVariableName%

Ces variables définies par l'utilisateur seront évaluées par des sous-requêtes que vous rédigez.

Dans l'exemple suivant, il est indiqué que OPTIONS contient une requête personnalisée, et nous pouvons constater dans le corps de la requête que l'option 'global partition by range' contient une requête personnalisée appelée :'SqlPartIndexDef', qui recherche les valeurs des variables 'i.owner' et 'i.index_name':

{OWNER, TABLE, CONSTNAME, OPTIONS EX}

select
 c.owner,
 c.table_name,
 c.constraint_name,
	...
	'global partition by range
		(%SqlPartIndexDef.'||i.owner||i.index_name||'%)', 
	...
Remarque : Les requêtes étendues ne doivent pas être définies dans l'entrée ReversedQueries.
  1. Une requête est exécutée pour évaluer les variables dans un jeu d'instructions de chaîne. Si l'en-tête de la requête contient le mot clé EX, PowerAMC recherche les requêtes et les variables définies par l'utilisateur à évaluer. Vous pouvez créer des requêtes utilisateur dans n'importer quelle requête de reverse engineering de base de données directe. Chaque requête doit avoir un nom unique.
  2. L'exécution de la requête définie par l'utilisateur doit générer un jeu de résultats contenant pour chaque variable à évaluer des paires de variable définie par l'utilisateur (sans %) et de valeur de variable. Par exemple, dans le jeu de résultats suivant, la requête a renvoyé trois lignes et 4 colonnes par ligne :

    Variable 1

    1

    Variable 2

    2

    Variable 3

    3

    Variable 4

    4

    Variable 5

    5

    Variable 6

    6

  3. Ces valeurs remplacent les variables définies par l'utilisateur dans la requête d'origine.