Under some special circumstances, it prints
Of course, this is impossible if PL/SQL were executing correctly. Either
guid_ is null or it has a value. Since the if statement executes the
dbms_output line, I should assume that
guid_ is indeed null. Yet, a value for
guid_ is printed.
This behaviour can be reproduced, at least on Oracle 11R2, with the following code:
I have also asked a question on stackoverflow.