dbms_lob.createtemporary() 関数の要点がよくわかりません。どうですか:
DECLARE
myclob CLOB;
BEGIN
myclob := 'foo';
END;
以下と異なるもの:
DECLARE
myclob CLOB;
BEGIN
dbms_lob.createtemporary( myclob, TRUE );
myclob := 'foo';
dbms_lob.freetemporary( myclob );
END;
create 呼び出しと free 呼び出しの間のアクションが関連していると思いますが、その方法については明確ではありません。