C. Mots-clé SQL
La Tableau C.1,
« Mots-clé SQL »
liste tous les éléments qui sont des mots-clé dans le standard SQL et
dans PostgreSQL™ 8.2.5. Des
informations sous-jacentes peuvent être trouvées dans Section 4.1.1,
« Identifieurs et mots clés ».
SQL distingue les mots-clé réservés et
non réservés. Selon le standard, les
mots-clé réservés sont réellement les seuls mots-clé ; ils ne sont
jamais autorisés comme identifiants. Les mots-clé non réservés ont
seulement un sens spécial dans certains contextes et peuvent être
utilisés comme identifiants dans d'autres contextes. La plupart des
mots-clé non réservés sont en fait les noms des tables et des
fonctions prédéfinies spécifiés par SQL. Le concept de mots-clé non
réservés existe seulement pour indiquer que certains sens prédéfinis
sont attachés à un mot dans certains contextes.
Dans l'analyseur de PostgreSQL™, la vie est un peu plus
compliquée. Il y a différentes classes d'éléments allant de ceux que
l'on ne peut jamais utiliser comme identifiants à ceux qui n'ont
absolument aucun statut spécial dans l'analyseur par rapport à un
identifiant ordinaire (c'est généralement le cas pour les fonctions
spécifiées par SQL). Même les mots-clé réservés ne sont pas
complètement réservés dans PostgreSQL™ et peuvent être utilisés comme
noms des colonnes (par exemple, SELECT 55 AS
CHECK, même si CHECK est un mot-clé).
Dans Tableau C.1,
« Mots-clé SQL »,
dans la colonne pour PostgreSQL™, nous classons comme
« non réservé » les mots-clé qui
sont explicitement connus par l'analyseur mais qui sont autorisés
dans la plupart des contextes où un identifiant est attendu. Certains
mots-clé qui sont non réservés et qui ne peuvent pas être utilisés
comme un nom de fonction ou un type de données sont marqués en
conséquence. (La plupart des mots représentent des fonctions
prédéfinies ou des types de données avec une syntaxe spéciale. La
fonction ou le type est toujours disponible mais il ne peut pas être
redéfini par un utilisateur.) Les « réservés » sont des éléments qui sont seulement
admis comme noms de colonnes « AS » (et peut-être dans très peu d'autres
contextes). Certains mots-clé réservés sont autorisés comme noms pour
les fonctions ; cela est également montré dans le tableau.
En règle générale, si vous avez des erreurs de la part de l'analyseur
pour des commandes qui contiennent un des mots-clés listés comme
identifiants, vous devriez essayer de mettre entre guillemets
l'identifiant pour voir si le problème disparait.
Il est important de comprendre avant d'étudier la Tableau C.1,
« Mots-clé SQL » que
le fait qu'un mot-clé ne soit pas réservé dans PostgreSQL™ ne signifie pas que la
fonctionnalité en rapport avec ce mot n'est pas implémentée.
Réciproquement, la présence d'un mot-clé n'indique pas l'existance
d'une fonctionnalité.
Tableau C.1. Mots-clé SQL
|
Mot-clé
|
PostgreSQL™
|
SQL:2003
|
SQL:1999
|
SQL-92
|
|
A
|
|
non réservé
|
|
|
|
ABORT
|
non réservé
|
|
|
|
|
ABS
|
|
réservé
|
non réservé
|
|
|
ABSOLUTE
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
ACCESS
|
non réservé
|
|
|
|
|
ACTION
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
ADA
|
|
non réservé
|
non réservé
|
non réservé
|
|
ADD
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
ADMIN
|
non réservé
|
non réservé
|
réservé
|
|
|
AFTER
|
non réservé
|
non réservé
|
réservé
|
|
|
AGGREGATE
|
non réservé
|
|
réservé
|
|
|
ALIAS
|
|
|
réservé
|
|
|
ALL
|
réservé
|
réservé
|
réservé
|
réservé
|
|
ALLOCATE
|
|
réservé
|
réservé
|
réservé
|
|
ALSO
|
non réservé
|
|
|
|
|
ALTER
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
ALWAYS
|
|
non réservé
|
|
|
|
ANALYSE
|
réservé
|
|
|
|
|
ANALYZE
|
réservé
|
|
|
|
|
AND
|
réservé
|
réservé
|
réservé
|
réservé
|
|
ANY
|
réservé
|
réservé
|
réservé
|
réservé
|
|
ARE
|
|
réservé
|
réservé
|
réservé
|
|
ARRAY
|
réservé
|
réservé
|
réservé
|
|
|
AS
|
réservé
|
réservé
|
réservé
|
réservé
|
|
ASC
|
réservé
|
non réservé
|
réservé
|
réservé
|
|
ASENSITIVE
|
|
réservé
|
non réservé
|
|
|
ASSERTION
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
ASSIGNMENT
|
non réservé
|
non réservé
|
non réservé
|
|
|
ASYMMETRIC
|
réservé
|
réservé
|
non réservé
|
|
|
AT
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
ATOMIC
|
|
réservé
|
non réservé
|
|
|
ATTRIBUTE
|
|
non réservé
|
|
|
|
ATTRIBUTES
|
|
non réservé
|
|
|
|
AUTHORIZATION
|
réservé (peut être une fonction)
|
réservé
|
réservé
|
réservé
|
|
AVG
|
|
réservé
|
non réservé
|
réservé
|
|
BACKWARD
|
non réservé
|
|
|
|
|
BEFORE
|
non réservé
|
non réservé
|
réservé
|
|
|
BEGIN
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
BERNOULLI
|
|
non réservé
|
|
|
|
BETWEEN
|
réservé (peut être une fonction)
|
réservé
|
non réservé
|
réservé
|
|
BIGINT
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
|
|
|
BINARY
|
réservé (peut être une fonction)
|
réservé
|
réservé
|
|
|
BIT
|
non réservé (ne peut pas être une fonction ou un type)
|
|
réservé
|
réservé
|
|
BITVAR
|
|
|
non réservé
|
|
|
BIT_LENGTH
|
|
|
non réservé
|
réservé
|
|
BLOB
|
|
réservé
|
réservé
|
|
|
BOOLEAN
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
réservé
|
|
|
BOTH
|
réservé
|
réservé
|
réservé
|
réservé
|
|
BREADTH
|
|
non réservé
|
réservé
|
|
|
BY
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
C
|
|
non réservé
|
non réservé
|
non réservé
|
|
CACHE
|
non réservé
|
|
|
|
|
CALL
|
|
réservé
|
réservé
|
|
|
CALLED
|
non réservé
|
réservé
|
non réservé
|
|
|
CARDINALITY
|
|
réservé
|
non réservé
|
|
|
CASCADE
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
CASCADED
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
CASE
|
réservé
|
réservé
|
réservé
|
réservé
|
|
CAST
|
réservé
|
réservé
|
réservé
|
réservé
|
|
CATALOG
|
|
non réservé
|
réservé
|
réservé
|
|
CATALOG_NAME
|
|
non réservé
|
non réservé
|
non réservé
|
|
CEIL
|
|
réservé
|
|
|
|
CEILING
|
|
réservé
|
|
|
|
CHAIN
|
non réservé
|
non réservé
|
non réservé
|
|
|
CHAR
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
réservé
|
réservé
|
|
CHARACTER
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
réservé
|
réservé
|
|
CHARACTERISTICS
|
non réservé
|
non réservé
|
|
|
|
CHARACTERS
|
|
non réservé
|
|
|
|
CHARACTER_LENGTH
|
|
réservé
|
non réservé
|
réservé
|
|
CHARACTER_SET_CATALOG
|
|
non réservé
|
non réservé
|
non réservé
|
|
CHARACTER_SET_NAME
|
|
non réservé
|
non réservé
|
non réservé
|
|
CHARACTER_SET_SCHEMA
|
|
non réservé
|
non réservé
|
non réservé
|
|
CHAR_LENGTH
|
|
réservé
|
non réservé
|
réservé
|
|
CHECK
|
réservé
|
réservé
|
réservé
|
réservé
|
|
CHECKED
|
|
|
non réservé
|
|
|
CHECKPOINT
|
non réservé
|
|
|
|
|
CLASS
|
non réservé
|
|
réservé
|
|
|
CLASS_ORIGIN
|
|
non réservé
|
non réservé
|
non réservé
|
|
CLOB
|
|
réservé
|
réservé
|
|
|
CLOSE
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
CLUSTER
|
non réservé
|
|
|
|
|
COALESCE
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
non réservé
|
réservé
|
|
COBOL
|
|
non réservé
|
non réservé
|
non réservé
|
|
COLLATE
|
réservé
|
réservé
|
réservé
|
réservé
|
|
COLLATION
|
|
non réservé
|
réservé
|
réservé
|
|
COLLATION_CATALOG
|
|
non réservé
|
non réservé
|
non réservé
|
|
COLLATION_NAME
|
|
non réservé
|
non réservé
|
non réservé
|
|
COLLATION_SCHEMA
|
|
non réservé
|
non réservé
|
non réservé
|
|
COLLECT
|
|
réservé
|
|
|
|
COLUMN
|
réservé
|
réservé
|
réservé
|
réservé
|
|
COLUMN_NAME
|
|
non réservé
|
non réservé
|
non réservé
|
|
COMMAND_FUNCTION
|
|
non réservé
|
non réservé
|
non réservé
|
|
COMMAND_FUNCTION_CODE
|
|
non réservé
|
non réservé
|
|
|
COMMENT
|
non réservé
|
|
|
|
|
COMMIT
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
COMMITTED
|
non réservé
|
non réservé
|
non réservé
|
non réservé
|
|
COMPLETION
|
|
|
réservé
|
|
|
CONCURRENTLY
|
non réservé
|
|
|
|
|
CONDITION
|
|
réservé
|
|
|
|
CONDITION_NUMBER
|
|
non réservé
|
non réservé
|
non réservé
|
|
CONNECT
|
|
réservé
|
réservé
|
réservé
|
|
CONNECTION
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
CONNECTION_NAME
|
|
non réservé
|
non réservé
|
non réservé
|
|
CONSTRAINT
|
réservé
|
réservé
|
réservé
|
réservé
|
|
CONSTRAINTS
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
CONSTRAINT_CATALOG
|
|
non réservé
|
non réservé
|
non réservé
|
|
CONSTRAINT_NAME
|
|
non réservé
|
non réservé
|
non réservé
|
|
CONSTRAINT_SCHEMA
|
|
non réservé
|
non réservé
|
non réservé
|
|
CONSTRUCTOR
|
|
non réservé
|
réservé
|
|
|
CONTAINS
|
|
non réservé
|
non réservé
|
|
|
CONTINUE
|
|
non réservé
|
réservé
|
réservé
|
|
CONVERSION
|
non réservé
|
|
|
|
|
CONVERT
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
non réservé
|
réservé
|
|
COPY
|
non réservé
|
|
|
|
|
CORR
|
|
réservé
|
|
|
|
CORRESPONDING
|
|
réservé
|
réservé
|
réservé
|
|
COUNT
|
|
réservé
|
non réservé
|
réservé
|
|
COVAR_POP
|
|
réservé
|
|
|
|
COVAR_SAMP
|
|
réservé
|
|
|
|
CREATE
|
réservé
|
réservé
|
réservé
|
réservé
|
|
CREATEDB
|
non réservé
|
|
|
|
|
CREATEROLE
|
non réservé
|
|
|
|
|
CREATEUSER
|
non réservé
|
|
|
|
|
CROSS
|
réservé (peut être une fonction)
|
réservé
|
réservé
|
réservé
|
|
CSV
|
non réservé
|
|
|
|
|
CUBE
|
|
réservé
|
réservé
|
|
|
CUME_DIST
|
|
réservé
|
|
|
|
CURRENT
|
|
réservé
|
réservé
|
réservé
|
|
CURRENT_DATE
|
réservé
|
réservé
|
réservé
|
réservé
|
|
CURRENT_DEFAULT_TRANSFORM_GROUP
|
|
réservé
|
|
|
|
CURRENT_PATH
|
|
réservé
|
réservé
|
|
|
CURRENT_ROLE
|
réservé
|
réservé
|
réservé
|
|
|
CURRENT_TIME
|
réservé
|
réservé
|
réservé
|
réservé
|
|
CURRENT_TIMESTAMP
|
réservé
|
réservé
|
réservé
|
réservé
|
|
CURRENT_TRANSFORM_GROUP_FOR_TYPE
|
|
réservé
|
|
|
|
CURRENT_USER
|
réservé
|
réservé
|
réservé
|
réservé
|
|
CURSOR
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
CURSOR_NAME
|
|
non réservé
|
non réservé
|
non réservé
|
|
CYCLE
|
non réservé
|
réservé
|
réservé
|
|
|
DATA
|
|
non réservé
|
réservé
|
non réservé
|
|
DATABASE
|
non réservé
|
|
|
|
|
DATE
|
|
réservé
|
réservé
|
réservé
|
|
DATETIME_INTERVAL_CODE
|
|
non réservé
|
non réservé
|
non réservé
|
|
DATETIME_INTERVAL_PRECISION
|
|
non réservé
|
non réservé
|
non réservé
|
|
DAY
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
DEALLOCATE
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
DEC
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
réservé
|
réservé
|
|
DECIMAL
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
réservé
|
réservé
|
|
DECLARE
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
DEFAULT
|
réservé
|
réservé
|
réservé
|
réservé
|
|
DEFAULTS
|
non réservé
|
non réservé
|
|
|
|
DEFERRABLE
|
réservé
|
non réservé
|
réservé
|
réservé
|
|
DEFERRED
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
DEFINED
|
|
non réservé
|
non réservé
|
|
|
DEFINER
|
non réservé
|
non réservé
|
non réservé
|
|
|
DEGREE
|
|
non réservé
|
|
|
|
DELETE
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
DELIMITER
|
non réservé
|
|
|
|
|
DELIMITERS
|
non réservé
|
|
|
|
|
DENSE_RANK
|
|
réservé
|
|
|
|
DEPTH
|
|
non réservé
|
réservé
|
|
|
DEREF
|
|
réservé
|
réservé
|
|
|
DERIVED
|
|
non réservé
|
|
|
|
DESC
|
réservé
|
non réservé
|
réservé
|
réservé
|
|
DESCRIBE
|
|
réservé
|
réservé
|
réservé
|
|
DESCRIPTOR
|
|
non réservé
|
réservé
|
réservé
|
|
DESTROY
|
|
|
réservé
|
|
|
DESTRUCTOR
|
|
|
réservé
|
|
|
DETERMINISTIC
|
|
réservé
|
réservé
|
|
|
DIAGNOSTICS
|
|
non réservé
|
réservé
|
réservé
|
|
DICTIONARY
|
|
|
réservé
|
|
|
DISABLE
|
non réservé
|
|
|
|
|
DISCONNECT
|
|
réservé
|
réservé
|
réservé
|
|
DISPATCH
|
|
non réservé
|
non réservé
|
|
|
DISTINCT
|
réservé
|
réservé
|
réservé
|
réservé
|
|
DO
|
réservé
|
|
|
|
|
DOMAIN
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
DOUBLE
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
DROP
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
DYNAMIC
|
|
réservé
|
réservé
|
|
|
DYNAMIC_FUNCTION
|
|
non réservé
|
non réservé
|
non réservé
|
|
DYNAMIC_FUNCTION_CODE
|
|
non réservé
|
non réservé
|
|
|
EACH
|
non réservé
|
réservé
|
réservé
|
|
|
ELEMENT
|
|
réservé
|
|
|
|
ELSE
|
réservé
|
réservé
|
réservé
|
réservé
|
|
ENABLE
|
non réservé
|
|
|
|
|
ENCODING
|
non réservé
|
|
|
|
|
ENCRYPTED
|
non réservé
|
|
|
|
|
END
|
réservé
|
réservé
|
réservé
|
réservé
|
|
END-EXEC
|
|
réservé
|
réservé
|
réservé
|
|
EQUALS
|
|
non réservé
|
réservé
|
|
|
ESCAPE
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
EVERY
|
|
réservé
|
réservé
|
|
|
EXCEPT
|
réservé
|
réservé
|
réservé
|
réservé
|
|
EXCEPTION
|
|
non réservé
|
réservé
|
réservé
|
|
EXCLUDE
|
|
non réservé
|
|
|
|
EXCLUDING
|
non réservé
|
non réservé
|
|
|
|
EXCLUSIVE
|
non réservé
|
|
|
|
|
EXEC
|
|
réservé
|
réservé
|
réservé
|
|
EXECUTE
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
EXISTING
|
|
|
non réservé
|
|
|
EXISTS
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
non réservé
|
réservé
|
|
EXP
|
|
réservé
|
|
|
|
EXPLAIN
|
non réservé
|
|
|
|
|
EXTERNAL
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
EXTRACT
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
non réservé
|
réservé
|
|
FALSE
|
réservé
|
réservé
|
réservé
|
réservé
|
|
FETCH
|
non réservé
|
réservé
|
réservé
|
réservé
|
|
FILTER
|
|
réservé
|
|
|
|
FINAL
|
|
non réservé
|
non réservé
|
|
|
FIRST
|
non réservé
|
non réservé
|
réservé
|
réservé
|
|
FLOAT
|
non réservé (ne peut pas être une fonction ou un type)
|
réservé
|
réservé
|
|