15 juillet 2017

CHAR et littéral : Oracle ajoute des blancs au littéral pour faire une comparaison (blank-padded semantics)

IntroductionEn 1995 quand je travaillais sur Oracle 7 comme développeur, on m'avait mis en garde sur le fait suivant : ne mettre en CHAR que des colonnes pour lesquelles l'espace total est occupé par des caractères sinon l'espace en plus est complété avec des blancs par Oracle et cela pose des problèmes pour faire des recherches.Ce que je viens de découvrir c'est que depuis la version 7, Oracle gère parfaitement bien ces espaces en plus dans le cas où on fait une recherche en comparant une colonne CHAR avec un littéral. Le développeur... [Lire la suite]
Posté par David DBA à 17:03 - - Commentaires [0] - Permalien [#]
Tags :

02 mai 2017

Jointures SQL : syntaxe propriétaire Oracle VS syntaxe ANSI92 (celle là, je ne l'aime pas!)

IntroductionJ'avoue, je déteste la syntaxe des jointures SQL introduite par la norme ANSI92, dite aussi SQL-92 et lui préférer de loin la syntaxe propriétaire d'Oracle!Pour quelles raisons? On va vite voir ça mais, en résumé, cette syntaxe manque de rigueur car une même jointure peut s'écrire de X façons différentes et possède plusieurs clauses optionnelles alors que la syntaxe Oracle est bien plus stricte. Dit d'une autre façon, il est facile et rapide d'expliquer à quelqu'un comment fonctionne le syntaxe propriétaire d'Oracle mais... [Lire la suite]
Posté par David DBA à 19:10 - - Commentaires [0] - Permalien [#]
Tags : ,
28 janvier 2017

Oracle les alias d'un SELECT ne sont connus que du ORDER BY

IntroductionDans la suite de cet article j'utiliserai les termes suivants :          - SELECT : ordre SELECT dans son ensemble avec les clauses WITH, SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY          - Clause SELECT ou sous-clause SELECT : partie SELECT proprement dite du SELECT, soit la partie avant le FROM Sous Oracle il est possible de définir des alias de colonnes dans la clause SELECT mais aussi des alias de tables ou vues dans la... [Lire la suite]
Posté par David DBA à 15:44 - - Commentaires [0] - Permalien [#]
Tags : , ,
19 janvier 2017

Oracle et les commentaires sous SQL*Plus et dans SQL

IntroductionSous Oracle il est possible de mettre des commentaires dans un ordre SQL sous trois formes différentes :           -- (double tirets) : commentaire de ligne dans l'ordre SQL sans caractère de fin          /* */ : commentaire de bloc dans l'ordre SQL, sur une ligne ou plusieurs          REMARK ou REM : commentaire sous SQL*Plus mais pas dans l'ordre SQL (quoique...)Cela permet de... [Lire la suite]
Posté par David DBA à 09:43 - - Commentaires [0] - Permalien [#]
Tags : , ,