Envoyé par
scheu
Ce sont surtout les développeurs et les éditeurs qui font le choix de faire du "compatible pour Oracle" et non pas du "compatible à la norme SQL".
Exemples parmi d'autres chez Oracle :
- "(+)" au lieu de "left outer join" dans les jointures externes, le (+) étant une syntaxe propre à Oracle
- autorisation de "= NULL" similaire à "IS NULL" (d'après la norme SQL : le NULL ne peut pas être comparé à quelque chose)
- assimilation NULL = chaîne de caractères vide, ce qui est aussi contraire à la norme SQL. Exemple pour un champ "deuxième prénom" : NULL n'est pas pareil que chaîne vide : savoir que quelqu'un n'a pas de deuxième prénom (chaîne vide), ce n'est pas fonctionnellement la même chose que de ne pas savoir s'il en a un ou pas (NULL pour valeur inconnue)
Bref tout ça pour dire que c'est comme ça qu'après on se retrouve hélas pieds et points liés à un éditeur sans pouvoir en changer facilement
La "norme" aujourd'hui, ce ne doit pas être Oracle même au vu de sa part de marché, c'est et ça a toujours été la norme SQL
La norme SQL, indépendante des SGBDs, devrait être la seule norme à respecter, ce qui n'est malheureusement aujourd'hui pas le cas et Oracle n'est pas l'un des SGBD qui respectent le plus la norme SQL au jour d'aujourd'hui ...