"q-Quote" !

L’apostrophe dans le SQL délimite les chaînes de caractère. Le problème, c’est qu’à chaque fois que je fais une phrase, il y a une apostrophe dedans ! Vous allez me dire : il « suffit » de mettre 2 apostrophes successives. L’exemple ci-dessous illustre à quel point les choses deviennent lisibles :

SQL> select trunc(dbms_random.value(1,2),5)||’  » »’ temps
from dual;

TEMPS
——————————–
1,24321  »

avec la version 10.2 apparaît le « q-quote » pour saisir une chaine de caractère. Le principe est simple, commencez votre chaîne de caractère par q’ (en anglais q-quote) suivi d’un caractère de parenthèse votre choix comme par exemple (, [ ou {. La chaîne de caractère se termine alors par le caractère fermant, soit dans l’ordre ), ] ou } suivi de l’apostrophe. Ce n’est pas clair… L’exemple devient :

SQL> select trunc(dbms_random.value(1,2),5)||q'(  »)’ temps
from dual;

TEMPS
——————————–
1,24321  »

Ca ne vous semble peut-être pas plus simple et pourtant, avec la 10.2, j’ai divisé par 2 le nombre d’échec de saisie du SQL. En plus :
1) SQL*Developer comprend cette syntaxe et le « color coding » fonctionne correctement
2) Ca marche dans le code PL/SQL !