Après m'en être plutôt bien sorti avec SQL Server de Microsoft, voilà deux jours que nous sommes lâchés seuls dans la nature face à Oracle Database, le SGBDR de la firme éponyme. Je passe du je au nous dans la même phrase parce que je ne voudrais pas parler pour tout le monde concernant SQL Server (chacun fera son propre commentaire quant à sa facilité ou sa difficulté à maitriser le langage de requêtes Transact SQL) en revanche je ne voudrais pas laisser croire que je suis seul à devoir me débrouiller avec les cours nationaux.

Ceci étant dit, le titre de ce billet est plus sujet d'un bon mot que le reflet d'une véritable expérience. Certes, il y a des différences entre Oracle et SQL Server qui peuvent dérouter et même créer des erreurs mais pas au point d'en faire une dépression.

Exemple d'erreur : nous avons réalisé un exercice où il fallait créer une contrainte pour identifier un aéroport par un code de trois lettres strictement.

En SQL Server, la contrainte peut s'écrire :
IdAeroport LIKE '[A-Z][A-Z][A-Z]'

Sous Oracle, cette contrainte compile mais ne fait pas ce que l'on attend. En effet, il n'y a de plage de caractères pour le LIKE. Seuls les jokers _ et % (un caractère et une chaîne quelconque) sont reconnus.

La contrainte équivalente sera :
IdAeroport REGEXP_LIKE '^[[:upper:]]{3}$'

Au passage, on n'autorise que les lettres majuscules, ce qui est plus conforme au cahier des charges.

Bref, Oracle n'est pas plus facile, bien au contraire. Et découvrir le SGBDR sans l'appui des tuteurs ne facilite rien.

Mais on s'accroche toujours et on ira jusqu'au bout !

:-)