Column (catégorie de SGBD)

La catégorie Column est située dans la catégorie Racine > Script > Objects, et peut contenir les éléments suivants qui définissent la façon dont les colonnes sont modélisés pour votre SGBD.

Elément

Description

[Common items]

Les éléments suivants communs aux différents objets peuvent être définis pour des colonnes :

  • Add

  • AfterCreate, AfterDrop, AfterModify

  • BeforeCreate, BeforeDrop, BeforeModify

  • ConstName

  • Create, Drop

  • Enable

  • Maxlen, MaxConstLen

  • ModifiableAttributes

  • Options, DefOptions

  • Permission

  • ReversedQueries, ReversedStatements

  • SqlAttrQuery, SqlListQuery, SqlOptsQuery, SqlPermQuery

Pour obtenir une description de chacun de ces éléments communs, voir Eléments communs aux différents objets.

AddColnCheck

Spécifie une instruction permettant de personnaliser le script afin de modifier les contraintes de colonne au sein d'une instruction alter table.

Exemple (Oracle 10g) :

alter table [%QUALIFIER%]%TABLE%
 add [constraint %CONSTNAME%] check (%.A:CONSTRAINT%)

AlterTableAdd Default

Spécifie une instruction permettant de définir la valeur par défaut d'une colonne dans une instruction alter.

Exemple (SQL Server 2005) :

[[ constraint %ExtDeftConstName%] default %DEFAULT% ]for %COLUMN%

AltEnableAdd ColnChk

Spécifie si une contrainte de vérification de colonne, construite à partir des paramètres de contrôle de la colonne, peut ou non être ajoutée dans une table à l'aide de l'instruction alter table. Les valeurs possibles sont les suivantes :

  • Yes - AddColnChck peut être utilisé pour modifier la contrainte de vérification de colonne dans une instruction alter table.

  • No - PowerAMC copie les données dans une table temporaire avant de recréer la table avec les nouvelles contraintes.

Voir aussi AddColnChck.

AltEnableTS Copy

Permet l'utilisation de colonnes timestamp dans les instructions insert.

Bind

Spécifie une instruction permettant de lier une règle à une colonne.

Exemple (ASE 15) :

[%R%?[exec ]][execute ]sp_bindrule [%R%?['[%QUALIFIER%]%RULE%'][[%QUALIFIER%]%RULE%]:['[%QUALIFIER%]%RULE%']], '%TABLE%.%COLUMN%'

CheckNull

Spécifie si une colonne peut être NULL.

Column Comment

Spécifie une instruction permettant d'ajouter un commentaire à une colonne.

Exemple :

comment on column [%QUALIFIER%]%TABLE%.%COLUMN% is %.q:COMMENT%

DefineColn Check

Spécifie une instruction permettant de personnaliser le script des contraintes de colonne (vérifications) au sein d'une instruction create table. Cette instruction est appelée si les instructions create, add, ou alter contiennent %CONSTDEFN%.

Exemple :

[constraint %CONSTNAME%] check (%CONSTRAINT%)

DropColnChck

Spécifie une instruction permettant de supprimer une vérification de colonne dans une instruction alter table. Cette instruction est utilisée dans le script de modification de base de données lorsque les paramètres de contrôle ont été supprimés d'une colonne.

Si DropColnChck est vide, PowerAMC copie les données dans une table temporaire avant de recréer la table avec des nouvelles contraintes.

Exemple (SQL Anywhere 10) :

alter table [%QUALIFIER%]%TABLE%
 drop constraint %CONSTNAME%

DropColnComp

Spécifie une instruction permettant de supprimer une expression calculée de colonne dans une instruction alter table.

Exemple (SQL Anywhere 10) :

alter table [%QUALIFIER%]%TABLE%
 alter %COLUMN% drop compute

DropDefault Constraint

Spécifie une instruction permettant de supprimer une contrainte liée à une colonne définie avec une valeur par défaut

Exemple (SQL Server 2005) :

[%ExtDeftConstName%?alter table [%QUALIFIER%]%TABLE%
 drop constraint %ExtDeftConstName%]

EnableBindRule

Spécifie si les règles de gestion peuvent être liées à des colonnes pour les paramètres de contrôle. Les valeurs possibles sont les suivantes :

  • Yes - Les éléments Create et Bind de l'objet Rule sont générés

  • No - La vérification est générée dans la commande Add de colonne

Enable ComputedColn

Spécifie si les colonnes calculées peuvent être utilisées.

EnableDefault

Spécifie si les valeurs par défaut prédéfinies sont admises. Les valeurs possibles sont les suivantes :

  • Yes - La valeur par défaut (si elle est définie) est générée pour les colonnes. Elle peut être définie dans les paramètres de contrôle pour chaque colonne. La variable %DEFAULT% contient la valeur par défaut. La case Valeur par défaut pour les colonnes peut être cochée dans les sous-onglets Tables et Vues de la boîte de dialogue de génération de base de données

  • No - La valeur par défaut ne peut pas être générée, et la case Valeur par défaut est indisponible.

Exemple (AS IQ 12.6) :

EnableDefault est activé et la valeur par défaut pour la colonne EMPFUNC est Technical Engineer. Le script généré se présente comme suit :

create table EMPLOYEE
(
  EMPNUM  numeric(5)    not null,
  EMP_EMPNUM  numeric(5)      ,
  DIVNUM  numeric(5)    not null,
  EMPFNAM   char(30)      ,
  EMPLNAM   char(30)    not null,
  EMPFUNC   char(30)       
  default 'Technical Engineer',
  EMPSAL  numeric(8,2)      ,
  primary key (EMPNUM)
);

EnableIdentity

Spécifie si le mot clé Identity est pris en charge. Les colonnes Identity sont des compteurs séquentiels gérés par la base de données (par exemple, Sybase et Microsoft SQL Server). Les valeurs possibles sont les suivantes :

  • Yes - Active la case à cocher Identity dans la feuille de propriétés de la colonne.

  • No - La case à cocher Identity n'est pas disponible.

Lorsque la case Identity est cochée, le mot clé Identity est généré dans le script après le type de données de la colonne. Une colonne Identity ne peut pas être NULL : lorsque vous cochez la case Identity, la case Obligatoire est automatiquement cochée. PowerAMC s'assure que :

  • Une seule colonne Identity peut être définie par table

  • Une clé étrangère ne peut pas être une colonne Identity

  • La colonne Identity a un type de données approprié. Si la case Identity est cochée pour une colonne dont le type de données n'est pas pris en charge, ce type de données est changé en numeric. Si le type de données d'une colonne d'identité est changé en type de données non pris en charge, une erreur s'affiche.

Notez que, lors de la génération, la variable %IDENTITY% contient la valeur "identity" mais vous pouvez la changer facilement, si nécessaire, en utilisant la syntaxe suivante :

[%IDENTITY%?new identity keyword]

EnableNotNull WithDflt

Spécifie si les valeurs par défaut sont affectées aux colonnes contenant des valeurs NULL. Les valeurs possibles sont les suivantes :

  • Yes - La case à cocher With Default est activée dans la feuille de propriétés d'une colonne. Lorsque vous cochez cette case, une valeur par défaut est affectée à une colonne lorsqu'une valeur Null est insérée.

  • No - La case à cocher With Default n'est pas disponible.

ModifyColn Chck

Spécifie une instruction permettant de modifier une vérification de colonne dans une instruction alter table. Cette instruction est utilisée dans le script de modification de base de données lorsque les paramètres de contrôle d'une colonne ont été modifiés dans la table.

Si AddColnChck est vide, PowerAMC copie les données dans une table temporaire avant de recréer la table avec des nouvelles contraintes.

Exemple (AS IQ 12.6) :

alter table [%QUALIFIER%]%TABLE%
 modify %COLUMN% check (%.A:CONSTRAINT%)

La variable %COLUMN% est le nom de la colonne définie dans la feuille de propriétés de table. La variable % CONSTRAINT % est la contrainte de vérification construite à partir des nouveaux paramètres de contrôle.

AltEnableAddColnChk doit être défini à YES pour permettre l'utilisation de cette instruction.

ModifyColn Comp

Spécifie une instruction permettant de modifier une expression calculée pour une colonne dans une instruction alter table.

Exemple (ASA 6) :

alter table [%QUALIFIER%]%TABLE%
 alter %COLUMN% set compute (%COMPUTE%)

ModifyColnDflt

Spécifie une instruction permettant de modifier une valeur par défaut de colonne dans une instruction alter table. Cette instruction est utilisée dans le script de modification de base de données lorsque la valeur par défaut d'une colonne a été modifiée dans la table.

Si ModifyColnDflt est vide, PowerAMC copie les données dans une table temporaire avant de recréer la table avec des nouvelles contraintes.

Exemple (ASE 15) :

alter table [%QUALIFIER%]%TABLE%
 replace %COLUMN% default %DEFAULT%

La variable %COLUMN% représente le nom de la colonne tel que défini dans la feuille de propriétés de table. La variable %DEFAULT% représente la valeur par défaut de la colonnes modifiée.

ModifyColnNull

Spécifie une instruction permettant de modifier l'état NULL/non-NULL d'une colonne dans une instruction alter table.

Exemple (Oracle 10g) :

alter table [%QUALIFIER%]%TABLE%
 modify %COLUMN% %MAND%

ModifyColumn

Spécifie une instruction permettant de modifier une colonne. Cette instruction diffère de l'instruction alter table, et est utilisée dans un script de modification de base de données lorsque la définition de colonne a été modifiée.

Exemple (SQL Anywhere 10) :

alter table [%QUALIFIER%]%TABLE%
 modify %COLUMN% %DATATYPE% %NOTNULL%

NullRequired

Spécifie le statut obligatoire d'une colonne. Cet élément est utilisé avec la variable de colonne NULLNOTNULL, qui peut prendre la valeur "null" "not null" ou une valeur vide. Pour plus d'informations, voir Gestion des valeurs Null.

Rename

Spécifie une instruction permettant de renommer une colonne dans une instruction alter table.

Exemple (Oracle 10g) :

alter table [%QUALIFIER%]%TABLE% 
 rename column %OLDCOLN% to %NEWCOLN%

SqlChckQuery

Spécifie une requête SQL permettant de procéder au reverse engineering de paramètres de contrôle de colonne. Le résultat doit être conforme à la syntaxe SQL appropriée.

Exemple (SQL Anywhere 10) :

{OWNER, TABLE, COLUMN, CONSTNAME, CONSTRAINT}
select u.user_name, t.table_name, 
 c.column_name, k.constraint_name,
 case(lcase(left(h.check_defn, 5))) when 'check' then substring(h.check_defn, 6) else h.check_defn end
from sys.sysconstraint k
 join sys.syscheck h on (h.check_id = k.constraint_id)
 join sys.systab t on (t.object_id = k.table_object_id)
 join sys.sysuserperms u on (u.user_id = t.creator)
 join sys.syscolumn c on (c.object_id = k.ref_object_id)
where k.constraint_type = 'C'
[  and u.user_name=%.q:OWNER%]
[  and t.table_name=%.q:TABLE%]
[  and c.column_name=%.q:COLUMN%]
order by 1, 2, 3, 4

SqlStatistics

Spécifie une requête SQL permettant de procéder au reverse engineering des statistiques de colonne et de table.

Exemple (ASE 15) :

[%ISLONGDTTP%?{ AverageLength }
select [%ISLONGDTTP%?[%ISSTRDTTP%?avg(char_length(%COLUMN%)):avg(datalength(%COLUMN%))]:null] as average_length
from [%QUALIFIER%]%TABLE%
:{ NullValuesRate, DistinctValues, AverageLength }
select
[%ISMAND%?null:(count(*) - count(%COLUMN%)) * 100 / count(*)]  as null_values,
[%ISMAND%?null:count(distinct %COLUMN%)]  as distinct_values,
[%ISVARDTTP%?[%ISSTRDTTP%?avg(char_length(%COLUMN%)):avg(datalength(%COLUMN%))]:null] as average_length
from [%QUALIFIER%]%TABLE%]

Unbind

Spécifie une instruction permettant de faire en sorte qu'une règle ne soit plus liée à une colonne.

Exemple (ASE 15) :

[%R%?[exec ]][execute ]sp_unbindrule '%TABLE%.%COLUMN%'