FirebirdSQL logo

Un domaine est un objet de base de données relationnelle qui peut être créé en spécifiant certaines caractéristiques, puis en faisant référence au domaine lors de la définition des colonnes de la table, de la déclaration des variables locales, des arguments d’entrée et de sortie dans les modules PSQL.

Cette section traite de la syntaxe des opérateurs de création, de modification et de suppression de domaines.Une description détaillée des domaines et de leur utilisation se trouve dans Custom Data Types — Domains.

CREATE DOMAIN

Destination

Création d’un nouveau domaine.

Disponible en

DSQL, ESQL.

Syntaxe
CREATE DOMAIN name [AS] <datatype>
  [DEFAULT {<literal> | NULL | <context_var>}]
  [NOT NULL] [CHECK (<dom_condition>)]
  [COLLATE collation_name];

<datatype> ::=
    <scalar_datatype> | <blob_datatype> | <array_datatype>

<scalar_datatype> ::= Voir Syntaxe des types de données scalaires.

<blob_datatype> ::= Voir Syntaxe du type de données BLOB.

<array_datatype> ::= Voir syntaxe des tableaux.

<dom_condition> ::=
    <val> <operator> <val>
  | <val> [NOT] BETWEEN <val> AND <val>
  | <val> [NOT] IN (<val> [, <val> ...] | <select_list>)
  | <val> IS [NOT] NULL
  | <val> IS [NOT] DISTINCT <val>
  | <val> IS [NOT] {TRUE | FALSE | UNKNOWN}
  | <val> [NOT] CONTAINING <val>
  | <val> [NOT] STARTING [WITH] <val>
  | <val> [NOT] LIKE <val> [ESCAPE <val>]
  | <val> [NOT] SIMILAR TO <val> [ESCAPE <val>]
  | <val> <operator> {ALL | SOME | ANY} (<select_list>)
  | [NOT] EXISTS (<select_expr>)
  | [NOT] SINGULAR (<select_expr>)
  | (<dom_condition>)
  | NOT <dom_condition>
  | <dom_condition> OR <dom_condition>
  | <dom_condition> AND <dom_condition>


<operator> ::=
    <> | != | ^= | ~= | = | < | > | <= | >=
  | !< | ^< | ~< | !> | ^> | ~>

<val> ::= {
    VALUE
  | <literal>
  | <context_var>
  | <expression>
  | NULL
  | NEXT VALUE FOR genname
  | GEN_ID(genname, <val>)
  | CAST(<val> AS <cast_type>)
  | (<select_one>)
  | func(<val> [, <val> ...])
}

<cast_type> ::=
   <datatype>
  | [TYPE OF] domain
  | TYPE OF COLUMN rel.col
Table 1. Paramètres de l’opérateur CREATE DOMAIN
Paramètre Description

name

Nom de domaine.Peut contenir jusqu’à 63 caractères.

datatype

Type de données SQL.

literal

Literal.

context_var

Toute variable contextuelle dont le type est compatible avec le type de données du domaine.

dom_condition

Condition du domaine.

collation_name

Ordre de tri.

charset

Jeu de caractères.

select_one

L’opérateur SELECT sélectionne une colonne et renvoie une seule ligne.

select_list

L’opérateur SELECT sélectionne une colonne et retourne zéro ou plusieurs lignes.

select_expr

L’opérateur SELECT sélectionne plusieurs colonnes et renvoie zéro ou plusieurs lignes.

expression

Expression.

genname

Le nom de la séquence (générateur).

func

Fonction scalaire.

L’opérateur CREATE DOMAIN crée un nouveau domaine.

Tout type de données SQL peut être spécifié comme type de domaine de base.