| Previous | Table of Contents | Next |
This procedure is used to copy LOB data to another like-type LOB. The data occupying the destination LOB is overwritten from the point of the offset specified. If the dest_offset value is greater than the length of the LOB being copied to, the difference is padded with 0 byte spaces. This procedure is not valid for BFILE-type data.
PROCEDURE ERASE(
lob_loc IN OUT BLOB, CLOB or NCLOB,
amount IN OUT INTEGER,
offset IN INTEGER DEFAULT 1);
| lob_loc | The locator of the LOB to erase from. |
| amount | The number of characters or bytes to erase. |
| offset | The character or byte after which to begin erasing. |
This procedure erases data in a BLOB, CLOB, or NCLOB and leaves spaces in its stead.
FUNCTION GETLENGTH(
lob_loc IN BLOB, CLOB, NCLOB)
RETURN INTEGER;
FUNCTION GETLENGTH(
file_loc IN BFILE)
RETURN INTEGER;
This function returns the length of the LOB specified with lob_loc or file_loc (in bytes for BLOB or BFILE, and in characters for CLOB and NCLOB types):
FUNCTION INSTR(
lob_loc IN BLOB,
pattern IN RAW,
offset IN INTEGER DEFAULT 1,
nth IN INTEGER DEFAULT 1);
FUNCTION INSTR(
lob_loc IN CLOB CHARACTER SET ANY_CS,
pattern IN VARCHAR2 CHARACTER SETlob_loc%CHARSET,
offset IN INTEGER DEFAULT 1,
nth IN INTEGER DEFAULT 1)
RETURN INTEGER;
FUNCTION INSTR(
file_loc IN BFILE,
pattern IN RAW,
offset IN INTEGER DEFAULT 1,
nth IN INTEGER DEFAULT 1)
RETURN INTEGER;
| lob_loc or file_loc | LOB locator. |
| pattern | String of bytes or characters to search for. |
| offset | Number of bytes or characters after which to search for the given pattern. |
| nth | Indicates the number of pattern matches that must exist before the return value is TRUE. |
The INSTR function looks for the nth occurrence of the given pattern in the specified LOB and returns the offset position of the occurrence, or a 0 if the specified occurrence is not found.
FUNCTION SUBSTR(
lob_loc IN BLOB, CLOB, NCLOB or BFILE,
amount IN INTEGER DEFAULT 32767,
offset IN INTEGER DEFAULT 1)
RETURN RAW or VARCHAR2;
| lob_loc | Locator for LOB to read from. |
| amount | Number of characters or bytes to read. |
| offset | Offset in bytes or characters before reading should begin. |
This function reads a portion of the specified LOB, beginning at the offset and ending after the number of bytes or characters specified is reached. It returns the portion of the LOB as a RAW in the case of a BLOB or BFILE, and VARCHAR2 in the case of a CLOB or NCLOB.
PROCEDURE READ(
lob_loc IN BLOB, CLOB, NCLOB or BFILE,
amount IN OUT BINARY_INTEGER,
offset IN INTEGER,
buffer OUT RAW);
| lob_loc | Locator of LOB to read from. |
| amount | Number of characters or bytes to read. |
| offset | Offset in bytes or characters to begin reading from. |
| buffer | Variable to hold returned data. |
Much like SUBSTR, this procedure retrieves a portion of a LOB. There are a few differences, though. One is that the number of characters or bytes actually read is returned in a binary integer.
PROCEDURE TRIM(
lob_loc IN CLOB or BLOB,
newlen IN INTEGER);
You can use this procedure to shorten a CLOB or BLOB to the specified newlen. If the length specified exceeds the length of the LOB to be trimmed, an ORA-22926 is returned. Unlike ERASE, removed data is not padded with spaces.
PROCEDURE WRITE(
lob_loc IN BLOB, CLOB or NCLOB,
amount IN BINARY_INTEGER,
offset IN INTEGER,
buffer IN RAW);
| lob_loc | Locator of LOB to write data into. |
| amount | Number of characters or bytes to write from the buffer. |
| offset | Offset in characters or bytes to begin writing buffer data. |
| buffer | Data to be written. |
| Previous | Table of Contents | Next |