FirebirdSQL logo
 SHADOWTABLE 

Détails pour un type spécifique

Arrays
  • Si le domaine doit être un tableau, le type de base peut être n’importe quel type de données SQL, sauf BLOB et tableau.

  • Les tailles des tableaux sont indiquées entre crochets.(Dans la syntaxe, ces crochets sont placés entre guillemets pour les distinguer des crochets indiquant des éléments facultatifs de la syntaxe).

  • Un ou deux entiers sont spécifiés pour chaque dimension du tableau, qui définissent les limites inférieure et supérieure de la plage d’index :

    • Par défaut, les tableaux commencent à 1.La limite inférieure est implicite, et seule la limite supérieure doit être spécifiée.Lorsqu’un seul nombre inférieur à 1 est spécifié, cela définit l’intervalle num . 1, et un nombre supérieur à 1 définit un intervalle de 1 …​ num.

    • Lorsque deux nombres séparés par un deux-points (':) et un espace facultatif sont spécifiés, si le second est supérieur au premier, cela définit explicitement la plage d’index.L’une ou les deux limites peuvent être inférieures à zéro si la limite supérieure est supérieure à la limite inférieure.

  • Si le tableau a plusieurs dimensions, les définitions de plage pour chaque dimension doivent être séparées par des virgules et des espaces facultatifs.

  • Les index sont vérifiés seulement si une valeur de tableau existe réellement.

  • Cela signifie que les messages d’erreur concernant les index invalides ne seront pas renvoyés si la sélection d’un élément particulier du tableau ne renvoie rien ou si le champ du tableau est NULL.

Types de chaînes

Pour les types CHAR, VARCHAR et BLOB avec le sous-type texte, un jeu de caractères peut être spécifié dans la phrase CHARACTER SET.Si aucun jeu de caractères n’est spécifié, la valeur par défaut est le jeu de caractères qui a été spécifié lors de la création de la base de données.

Warning

Si aucun jeu de caractères n’a été spécifié lors de la création de la base de données, le jeu de caractères par défaut NONE est accepté lors de la création du domaine.Dans ce cas, les données sont stockées et récupérées telles qu’elles ont été soumises.Une colonne basée sur un tel domaine peut être chargée avec des données dans n’importe quel encodage, mais il n’est pas possible de charger ces données dans une colonne avec un encodage différent.La translittération n’est pas effectuée entre les codages source et destination, ce qui peut entraîner des erreurs.

La phrase DEFAULT

La clause optionnelle DEFAULT vous permet de spécifier une valeur par défaut pour un domaine.Cette valeur sera placée dans la colonne de la table qui fait référence à ce domaine lors de l’exécution de l’instruction INSERT si aucune valeur n’est spécifiée pour cette colonne.Les variables locales et les arguments du module PSQL qui font référence à ce domaine seront initialisés avec la valeur par défaut.La valeur par défaut peut être un littéral compatible avec le type, une valeur NULL inconnue et une variable contextuelle dont le type est compatible avec celui du domaine.

Restriction NOT NULL

La proposition NOT NULL empêche les colonnes et les variables basées sur le domaine de se voir attribuer des valeurs NULL.

La restriction CHECK

La clause optionnelle CHECK spécifie une restriction de domaine.Une restriction de domaine spécifie une condition qui doit être satisfaite par les valeurs des colonnes ou des variables de la table qui se réfèrent à ce domaine.La condition doit être placée entre parenthèses.Une condition est une expression logique, également appelée prédicat, qui peut renvoyer VRAI, FAUX ou INCONNU. Une condition est satisfaite si le prédicat renvoie VRAI ou INCONNU (équivalent à NULL). Si le prédicat renvoie FALSE, la valeur ne sera pas acceptée.

Mot clé VALUE

Le mot clé VALUE dans une contrainte de domaine est un substitut pour une colonne de table qui est basée sur le domaine donné ou une variable de module PSQL.Il contient la valeur attribuée à la variable ou à la colonne du tableau.Le mot-clé VALUE peut être utilisé n’importe où dans la contrainte CHECK, mais il est généralement utilisé sur le côté gauche de la condition.

COLLATE

La clause facultative COLLATE vous permet de spécifier un ordre de tri si le domaine est basé sur l’un des types de données de type chaîne (sauf BLOB). Si aucun ordre de tri n’est spécifié, l’ordre de tri par défaut est supposé avoir été omis pour le jeu de tri spécifié lors de la création du domaine.

Qui peut créer un domaine ?

L’opérateur CREATE DOMAIN peut être utilisé par:

L’utilisateur qui crée un domaine devient le propriétaire de ce domaine.