FirebirdSQL logo
 Structure du langage SQLÉléments communs du langage 

Utilisation des domaines dans les déclarations

Le nom de domaine peut être spécifié comme un type de paramètre PSQL ou de variable locale.Le paramètre ou la variable hérite de tous les attributs du domaine.Si une valeur par défaut est spécifiée pour un paramètre ou une variable, elle remplace la valeur par défaut spécifiée dans la définition du domaine.

Si la clause TYPE OF est ajoutée devant un nom de domaine, seul le type de données du domaine est utilisé : tous les autres attributs du domaine — la contrainte NOT NULL, la contrainte CHECK, la valeur par défaut — ne sont pas vérifiés ou utilisés.Toutefois, si un domaine est de type texte, son jeu de caractères et sa séquence de tri sont toujours utilisés.

Utilisation de TYPE OF COLUMN dans les déclarations

Les paramètres d’entrée et de sortie ou les variables locales peuvent également être déclarés en utilisant des types de données en colonne dans les tables et les vues existantes.La phrase TYPE OF COLUMN est utilisée pour cela, avec rel.col comme argument.

Lorsque TYPE OF COLUMN est utilisé, le paramètre ou la variable hérite uniquement du type de données et — pour les types de chaînes de caractères — du jeu de caractères et de la séquence de tri.Les contraintes et la valeur par défaut de la colonne sont ignorées.

Syntaxe des types de données BLOB

Les types de données BLOB contiennent des données au format binaire, caractère ou personnalisé de taille indéfinie.Pour plus d’informations, veuillez vous référer à BLOB.

Syntaxe BLOB
<blob_datatype> ::=
    BLOB [SUB_TYPE {subtype_num | subtype_name}]
    [SEGMENT SIZE seglen] [CHARACTER SET charset]
  | BLOB [(seglen [, subtype_num])]
Table 1. Paramètres d’une déclaration de type BLOB
Paramètre ^^ Description

charset

jeu de caractères (ignoré pour tous les sous-types sauf 1 (TEXT)).

subtype_num

numéro du sous-type d’un BLOB.

subtype_name

Le nom d’un sous-type de BLOB peut être TEXT, BINARY ou l’un des (autres) noms standard ou personnalisés définis dans RDB$TYPES pour RDB$FIELD_NAME = 'RDB$FIELD_SUB_TYPE'.

seglen

La taille du segment ne peut pas être supérieure à 65535, la valeur par défaut est 80 si elle n’est pas spécifiée.La taille du segment peut être remplacée par le client et, dans la plupart des cas, elle n’est pas prise en compte.

Syntaxe des tableaux

Un tableau de type de données contient plusieurs valeurs scalaires dans un tableau unique ou multidimensionnel.Pour plus d’informations, voir Type array.

Syntaxe tableaux
<array_datatype> ::=
    {SMALLINT | INT[EGER] | BIGINT | INT128} <array_dim>
  | BOOLEAN <array_dim>
  | {FLOAT | REAL | DOUBLE PRECISION} <array_dim>
  | [LONG] FLOAT [binary-precision] <array_dim>
  | DECFLOAT[({16 | 34})] <array_dim>
  | DATE <array_dim>
  | {TIME | TIMESTAMP} [{WITH | WITHOUT} TIME ZONE] <array_dim>
  | {DECIMAL | NUMERIC} [(precision [, scale])]  <array_dim>
  | {VARCHAR | {CHAR | CHARACTER} VARYING} (length)  <array_dim>
    [CHARACTER SET charset]
  | {CHAR | CHARACTER} [(length)]  <array_dim> [CHARACTER SET charset]
  | {NCHAR | NATIONAL {CHARACTER | CHAR}} VARYING (length) <array_dim>
  | {NCHAR | NATIONAL {CHARACTER | CHAR}} [(length)] <array_dim>

<array_dim> ::= '[' [m:]n [,[m:]n ...] ']'
Table 1. Paramètres de déclaration des tableaux
Paramètre ^^ Description

binary-precision

Précision binaire.De 1 à 53 bits.

precision

Précision décimale.De 1 à 38 chiffres décimaux.

scale

scale ou nombre de décimales.De 0 à 38.Elle doit être inférieure ou égale à la précision.

length

Longueur maximale de la chaîne en caractères.

charset

Jeu de caractères.

m, n

Nombres entiers qui définissent la plage de l’indice de mesure du tableau.