Chapter 3 Guide de référence du fichier de ressource de SGBD


Définition d'un attribut étendu dans un SGBD

Chaque attribut étendu a les propriétés suivantes :

Propriété de l'entrée
Description
Nom Nom de la catégorie ou de l'entrée
Commentaire Description de la catégorie ou de l'entrée sélectionnée
Type de données Types d'attributs étendus prédéfinis ou définis par l'utilisateur
Valeur par défaut Valeur par défaut de la liste des valeurs. Dépend du type de données sélectionné

Steps Pour ajouter un attribut étendu :

  1. Pointez sur une catégorie de métaclasse dans la catégorie Profile, cliquez le bouton droit de la souris, puis sélectionnez Nouveau→Attributs étendus dans le menu contextuel.

    Un nouvel attribut étendu est créé.
  2. Saisissez un nom et un commentaire, puis sélectionnez un type de données dans la liste Type de données.
  3. [facultatif] Sélectionnez une valeur par défaut dans la liste Valeur par défaut.
  4. Cliquez sur Appliquer.

Exemple

Dans DB2 UDB 7 OS/390, l'attribut étendu WhereNotNull permet d'ajouter une clause qui impose l'unicité des noms d'index s'ils ne sont pas NULL.

Dans l'ordre Create index , WhereNotNull est évalué comme suit :

create [%INDEXTYPE% ][%UNIQUE% [%WhereNotNull%?where not null ]]index [%QUALIFIER%]%INDEX% on [%TABLQUALIFIER%]%TABLE% (

%CIDXLIST%

)

[%OPTIONS%]

Si le nom d'index est unique, et si vous définissez le type de l'attribut étendu WhereNotNull à True, la clause "where not null" est insérée dans le script.

Dans l'élément SqlListQuery  :

{OWNER, TABLE, INDEX, INDEXTYPE, UNIQUE, INDEXKEY, CLUSTER, WhereNotNull}

select 
   tbcreator,
   tbname,
   name,
   case indextype when '2' then 'type 2' else 'type 1' end,
   case uniquerule when 'D' then '' else 'unique' end, 
   case uniquerule when 'P' then 'primary' when 'U' then 'unique' else '' end, 
   case clustering when 'Y' then 'cluster' else '' end,
   case uniquerule when 'N' then 'TRUE' else 'FALSE' end
from
   sysibm.sysindexes 
where 1=1
[  and tbname=%.q:TABLE%]
[  and tbcreator=%.q:OWNER%]
[  and dbname=%.q:CATALOG%]
order by
   1 ,2 ,3

 


Copyright (C) 2008. Sybase Inc. All rights reserved.