SQL_BLOB_TAG_PUT replaces an attribute value of an existing BLOB. The input parameters include the REF value, the database name and the name of the attribute (tag). The new attribute value must be located in a buffer. The address of which must be specified in the input parameters together with the value length.
This CLI call requires the SELECT privilege for the BLOB table, as well as the UPDATE privilege for the slice_val column of the BLOB table.
CLI declaration in C:
void SQL_BLOB_TAG_PUT( char const *REFvalue ,char const *CatalogId ,char const *TagName ,char *Buffer ,long int const *ValueLength ,struct SQLda_t *SQLda);
CLI-Deklaration in COBOL:
IDENTIFICATION DIVISION. PROGRAM-ID. SQLbtpu IS PROTOTYPE. DATA DIVISION. LINKAGE SECTION. 01 REFvalue PIC X(237). 01 CatalogId PIC X(31). 01 TagName PIC X(31). 01 Buffer. *> of any length 02 PIC X(1). 01 ValueLength PIC S9(9) COMP. COPY SQLCA. *> for group item SQLda. PROCEDURE DIVISION USING REFvalue, CatalogId, TagName, Buffer, ValueLength, SQLda. END PROGRAM SQLbtpu.
REFvalue
The REF value of the BLOB. The exact structure of REF values is described on "Column definitions".
CatalogId
Unqualified name of the database in which the table is located. CatalogId
is an unqualified name (see section "Unqualified names"). If necessary, this name must be padded with blanks up to a length of 31 characters or terminated with a null byte. If you wish to use the default database name, simply enter a null byte or a string of blanks instead of the database name.
TagName
Name of the attribute (tag). If necessary, this name must be padded with blanks up to a length of 31 characters or terminated with a null byte. TagName
may not be a blank string.
Buffer
Buffer containing the new attribute value.
ValueLength
Length of the new attribute value. ValueLength
must be a number >= 0.
SQLda
Diagnostics area as an output parameter.