SQL -199



Description de l'erreur SQL-199


L'erreur SQL avec le code = -199 est causé en essayant de créer un indice de DB2 avec plusieurs objectifs clés, dont l'un contient XML motif (la colonne de DERIVED_FROM est pas vide). Cette erreur peut produire à partir de DB2 version 9 en mode nouvelle fonction, car XML colonnes ne sont pas pris en charge avant DB2 version 9.
  Récapitulatif du problème
************************************************** ************** * 
*Utilisateurs concernés: les utilisateurs de DB2 Cloning Tool. * ************************************************** ************** * 
* Description du problème: L'erreur SQL avec le code = -199 est étant * 
* Causé en essayant de créer un index de DB2 * * Avec plusieurs objectifs clés, dont l'* 
* Contient modèle XML (le DERIVED_FROM * * Colonne est pas vide). Cette erreur peut *
* Produire à partir de DB2 version 9 * * Le mode nouvelle fonction, car les colonnes XML * 
* Ne sont pas pris en charge avant DB2 *
* Version 9. 
* ************************************************** ************** 
* Recommandation: appliquer les PTF.
* ************************************************** **************
 Code a été modifié pour corriger cette condition. 


►Voir plus des détails



SQL -199  ou également SQL: 1999 ( appelé aussi  SQL 3) était la 4éme révision de la SQL base de données du  langage de requête. Il a introduit un grand nombre de nouvelles fonctionnalités, dont beaucoup clarifications nécessaires dans la suite SQL: 2003. La dernière révision de la norme est SQL: 2011.
 

Résumé

Les documents standards ISO ont été publiés entre 1999 et 2002 en plusieurs versements, le premier composé de plusieurs parties. Contrairement aux éditions précédentes, le nom de la norme utilisée par deux points au lieu d'un trait d'union pour la cohérence avec les noms des autres ISO normes. La première tranche de SQL: 1999 avait cinq parties:
  • SQL / Cadre ISO / CEI 9075-1: 1999
  • SQL / Fondation ISO / CEI 9075-2: 1999
  • SQL / CLI: une définition actualisée de l'extension Call Level Interface, publié à l'origine en 1995, également connu sous le CLI-95 ISO / CEI 9075-3: 1999
  • SQL / PSM: une définition actualisée de l'extension Modules stockés persistants, publié à l'origine en 1996, également connu sous le PSM-96 ISO / CEI 9075-4: 1999
  • SQL / Fixations ISO / CEI 9075-5: 1999
Trois autres parties, également considérée comme faisant partie de SQL: 1999 ont été publiées par la suite:
  • SQL / MED gérer des données externes (SQL: 1999 partie 9) ISO / CEI 9075-9: 2001
  • SQL / OLB Fixations objet de langues (SQL: 1999 partie 10) ISO / IEC 9075-10: 2000
  • SQL / JRT SQL routines et les types en utilisant le langage de programmation Java (SQL: 1999 partie 13) ISO / IEC 9075-13: 2002 
Les types de données

Types de données booléens

Le SQL: 1999 standard appelle  pour un type booléen,  mais de nombreux serveurs SQL commerciaux (base de données Oracle, IBM DB2.) Ne le supportent pas comme un type de colonne, type de variable ou ne le permettent dans les résultats fixés. Microsoft SQL Server est l'un des rares systèmes de base de données qui prend en charge correctement les valeurs booléennes utilisant son type de données "BIT". Tous les champs de bits 1-8 occupe un octet complet de l'espace sur le disque. MySQL interprète "booléen" comme un synonyme pour TINYINT (8 bits entier signé). PostgreSQL fournit un standard conforme type Boolean 

Types définis par l'utilisateur de pouvoir distinctes

Parfois appelé types simplement distincts, ceux-ci ont été introduites en option (S011) pour permettre types atomiques existant pour être étendue avec une signification particulière pour créer un nouveau type et permettant ainsi le mécanisme type de contrôle pour détecter des erreurs logiques, par exemple en ajoutant accidentellement un l'âge d'un salaire. Par example:
 
create type age as integer FINAL;
create type salary as integer FINAL; 
 
crée deux types différents et incompatibles. Les SQL types distincts utilisent le nom équivalence pas équivalence structurelle comme typedefs en C. Il est toujours possible d'effectuer des opérations compatibles sur colonnes (ou données) de types distincts en utilisant un type explicite CAST
Peu de systèmes SQL soutenir. IBM DB2 est l'un ceux qui les soutiennent. base de données Oracle ne les prend pas en charge, recommandant plutôt de les imiter par un un endroit type structuré.

Types définis par l'utilisateur structurés

 

 

Le standard SQL: 199 ou SQL: 1999 a introduit un certain nombre de caractéristiques de base de données relationnel-objet dans SQL, principalement parmi eux des types définis par l'utilisateur structurées, généralement appelée simplement types structurés. Ceux-ci peuvent être définis soit dans SQL plaine avec CREATE TYPE, mais aussi en Java via SQL / JRT. Types SQL structuré permettent héritage unique.

Types structurés sont soutenus à des degrés divers dans la base de données Oracle, IBM DB2, PostgreSQL et Microsoft SQL Server, bien que ce dernier ne permet que des types structurés définis dans CLR.
 
Ce sont l'épine dorsale de la base de données relationnel-objet extension dans SQL: 1999. Ils sont analogues à des classes dans les langages de programmation orientés objecté. SQL: 199 ou  SQL: 99  permet seulement l'héritage simple.

 

Expressions courantes de la table et requêtes récursives

SQL -199 a ajouté une AVEC [RECURSIVE] permettant de construire des requêtes récursives, comme fermeture transitive, à préciser dans le langage de requête elle-même; voir les expressions de table communes.

 

Certaines capacités OLAP

GROUP BY a été étendue avec ROLLUP, CUBE et GROUPING SETS.

Contrôle d'accès basé sur les rôles

Support complet pour RBAC par CREATE ROLE.



Info sur SQL :
SQL ( Structured Query Language, = langage de requête structurée) est un langage informatique normalisé servant à exploiter des bases de données relationnelles. La partie langage de manipulation des données de SQL permet de rechercher, d'ajouter, de modifier ou de supprimer des données dans les bases de données relationnelles.
Outre le langage de manipulation des données, la partie langage de définition des données permet de créer et de modifier l'organisation des données dans la base de données, la partie langage de contrôle de transaction permet de commencer et de terminer des transactions, et la partie langage de contrôle des données permet d'autoriser ou d'interdire l'accès à certaines données à certaines personnes.
Créé en 1974, normalisé depuis 1986, le langage est reconnu par la grande majorité des systèmes de gestion de bases de données relationnelles (abrégé SGBDR) du marché.