I misteri di Oracle. Concatenamento stringhe e ORA-01756

Delle due seguenti query, la prima da’ errore “ORA-01756 quoted string not properly terminated” e la seconda si conclude regolarmente.

Sembra che faccia la differenza lasciare o meno il ; (punto e virgola) alla fine della riga o meno.

select ' )
WHERE xxxx = '||''''||:az||''''||' AND
yyyy = '||:acr||';
COMMIT;'
from dual

select ' )
WHERE xxxx = '||''''||:az||''''||' AND
yyyy = '||''''||:acr||''''||'
;COMMIT;'
from dual
Annunci