Oracle9i Supplied PL/SQL Packages and Types Reference Release 1 (9.0.1) Part Number A89852-02 |
|
DBMS_LOB , 3 of 26
This procedure closes a previously opened internal or external LOB
.
DBMS_LOB.CLOSE ( lob_loc IN OUT NOCOPY BLOB); DBMS_LOB.CLOSE ( lob_loc IN OUT NOCOPY CLOB CHARACTER SET ANY_CS); DBMS_LOB.CLOSE ( file_loc IN OUT NOCOPY BFILE);
No error is returned if the BFILE
exists but is not opened. An error is returned if the LOB
is not open.
CLOSE
requires a round-trip to the server for both internal and external LOBs
. For internal LOBs
, CLOSE
triggers other code that relies on the close call, and for external LOBs
(BFILEs
), CLOSE
actually closes the server-side operating system file.
It is not mandatory that you wrap all LOB operations inside the Open/Close APIs. However, if you open a LOB, you must close it before you commit or rollback the transaction; an error is produced if you do not. When an internal LOB is closed, it updates the functional and domain indexes on the LOB column.
It is an error to commit the transaction before closing all opened LOBs that were opened by the transaction. When the error is returned, the openness of the open LOBs is discarded, but the transaction is successfully committed. Hence, all the changes made to the LOB and non-LOB data in the transaction are committed, but the domain and functional indexes are not updated. If this happens, you should rebuild the functional and domain indexes on the LOB column.
|
![]() Copyright © 1996-2001, Oracle Corporation. All Rights Reserved. |
|