Documentation PostgreSQL 8.0.25 | ||||
---|---|---|---|---|
Pr�c�dent | Arri�re rapide | Chapitre 8. Types de donn�es | Avance rapide | Suivant |
Le syst�me de types de PostgreSQL contient un certain nombre de types � usage sp�cial qui sont collectivement appel�s des pseudo-types. Un pseudo-type ne peut �tre utilis� pour une colonne de table, mais il peut �tre utilis� pour d�clarer un argument de fonction ou un type de r�sultat. Chacun des pseudo-types disponibles est utile dans des situations o� le comportement d'une fonction ne correspond pas simplement � accepter ou retourner des valeurs d'un type de donn�es SQL sp�cifique. Tableau 8-20 liste les pseudo-types existants.
Tableau 8-20. Pseudo-Types
Nom | Description |
---|---|
any | Indique qu'une fonction accepte n'importe quel type de donn�es, quel qu'il soit. |
anyarray | Indique qu'une fonction accepte tout type tableau (voir Section 31.2.6). |
anyelement | Indique qu'une fonction accepte tout type de donn�es. (voir Section 31.2.6). |
cstring | Indique qu'une fonction accepte ou retourne une cha�ne de caract�res du langage C (termin�e par un NULL). |
internal | Indique qu'une fonction accepte ou retourne un type de donn�es interne du serveur de bases de donn�es. |
language_handler | Une fonction d'appel de langage proc�dural est d�clar�e retourner un language_handler. |
record | Identifie une fonction qui retourne un type de ligne non sp�cifi�. |
trigger | Une fonction trigger est d�clar�e comme retournant un type trigger. |
void | Indique qu'une fonction ne retourne pas de valeur. |
opaque | Un type de donn�es obsol�te qui servait pr�c�demment � tous les usages cit�s ci-dessus. |
Les fonctions cod�es en C (incluses dans le produit ou charg�es dynamiquement) peuvent d�clarer, accepter ou retourner chacun de ces pseudo-types. Il est de la responsabilit� de l'auteur de la fonction de s'assurer que la fonction se comporte normalement lorsqu'un pseudo-type est utilis� comme type d'argument.
Les fonctions cod�es en langage proc�dural peuvent utiliser les pseudo-types si leur langage le permet. A ce jour, tous les langages interdisent l'usage d'un pseudo-type comme argument, et n'acceptent que void et record comme type retourn� (plus trigger lorsque la fonction est utilis�e comme trigger). Certains supportent aussi les fonctions polymorphes en utilisant les types anyarray et anyelement.
Le pseudo-type internal sert � d�clarer des fonctions qui ne sont appel�es que par la base de donn�es en interne, et non pas directement par une requ�te SQL. Si une fonction a au moins un argument de type internal, alors elle ne peut �tre appel�e depuis SQL. Pour pr�server la s�curit� de cette restriction, il est important de suivre cette r�gle de codage: ne cr�ez pas de fonction qui retourne un internal si elle n'a pas au moins un argument de type internal.
Pr�c�dent | Sommaire | Suivant |
Types identifiants d'objets | Niveau sup�rieur | Fonctions et op�rateurs |