SQL-92 (également appelé SQL 2) était la troisième révision du langage de requêtes de bases de données SQL . Contrairement à SQL-89, il s'agissait d'une révision majeure de la norme. Hormis quelques incompatibilités mineures, la norme SQL-89 est compatible avec les versions ultérieures de SQL-92.
La spécification standard a été multipliée par cinq environ par rapport à SQL-89. Cette augmentation est principalement due à une spécification plus précise des fonctionnalités existantes ; l’accroissement lié aux nouvelles fonctionnalités n’est que de 1,5 à 2 fois. Nombre de ces nouvelles fonctionnalités étaient déjà implémentées par les fournisseurs avant l’adoption de la nouvelle norme. Cependant, la plupart des nouvelles fonctionnalités ont été ajoutées aux niveaux « intermédiaire » et « complet » de la spécification, ce qui signifie que la conformité au niveau d’entrée de SQL-92 n’était guère plus exigeante que la conformité à SQL-89 .
La prochaine révision est SQL:1999 (SQL3).
Norme officielle associée
- ANSI X3.135-1992
- ISO/IEC 9075:1992
- FIPS PUB 127-2
Nouvelles fonctionnalités
Parmi les nouvelles fonctionnalités importantes, on peut citer :
- Nouveaux types de données définis :
DATE,TIME,TIMESTAMP,INTERVAL,BITchaîne de caractères,VARCHARchaînes de caractères et chaînes de caractères.NATIONALCHARACTER - Prise en charge de jeux de caractères supplémentaires au-delà des exigences de base pour la représentation des instructions SQL.
- De nouvelles opérations scalaires telles que la concaténation de chaînes et l'extraction de sous-chaînes , les calculs de dates et d'heures, et les instructions conditionnelles.
- De nouvelles opérations ensemblistes telles que
UNION,UNION ALL,CROSS JOIN, etJOINdes types formalisés (INNER JOIN,LEFT JOIN,RIGHT JOIN,FULL OUTER JOIN). - Expressions conditionnelles avec
CASE. Pour un exemple, voir Case (SQL) . - Prise en charge des modifications des définitions de schéma via
ALTERetDROP. - Liaisons pour C , Ada et MUMPS .
- Nouvelles fonctionnalités pour les privilèges utilisateur.
- Nouvelle fonctionnalité de vérification d'intégrité, par exemple au sein d'une
CHECKcontrainte . - Un nouveau schéma d'information — des vues en lecture seule sur les métadonnées de la base de données, comme les tables qu'elle contient, etc. Par exemple, .
SELECT*FROMINFORMATION_SCHEMA.TABLES; - Exécution dynamique des requêtes (par opposition à une exécution préparée).
- Meilleure prise en charge de l'accès aux bases de données à distance.
- Tables temporaires ; etc.
CREATETEMPTABLE - Niveaux d'isolation des transactions .
- Nouvelles opérations pour modifier les types de données à la volée via .
CAST(exprAStype) - Curseurs à défilement .
- Indicateurs de compatibilité pour la compatibilité ascendante et descendante avec d'autres normes SQL.
Extensions
Deux extensions importantes ont été publiées après la version standard (mais avant la prochaine itération majeure).
- SQL/CLI ( interface de niveau d'appel ) en 1995
- SQL/PSM ( procédures stockées ) en 1996