Article de reference

SQL-92

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 n...

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, et JOINdes 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 ALTERet DROP.
  • 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).