Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
ACCUEIL POSTGRESQL FORUM POSTGRESQL F.A.Q POSTGRESQL UDF POSTGRESQL LIVRES POSTGRESQL

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é