SQL_BLOB_TAG_PUT ersetzt einen Attributwert eines existierenden BLOB-Objekts. Die Eingabeparameter sind der REF-Wert, der Datenbankname und der Name des Attributs (Tag). Der neue Attributwert muss in einem Puffer stehen. Dessen Adresse und die Länge des neuen Werts sind weitere Eingabeparameter.
Dieser CLI-Aufruf erfordert das SELECT-Privileg auf die BLOB-Tabelle und das UPDATE-Privileg auf die Spalte slice_val der BLOB-Tabelle.
CLI-Deklaration 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
Der REF-Wert des BLOB-Objekts. Die genaue Struktur des REF-Werts ist auf "Spaltendefinition" beschrieben.
CatalogId
Name der Datenbank, in der die Tabelle liegt. CatalogId
ist ein einfacher Name (siehe Abschnitt „Einfache Namen"). Der Name muss gegebenenfalls mit Leerzeichen auf 31 Zeichen verlängert oder mit einem Null-Byte abgeschlossen werden. Soll der Name der voreingestellten Datenbank verwendet werden, so müssen Sie statt des Datenbanknamens ein Null-Byte, ein oder mehrere Leerzeichen angeben.
TagName
Name der Attribute (Tags). Der Name muss gegebenenfalls mit Leerzeichen auf 31 Zeichen verlängert oder mit einem Null-Byte abgeschlossen werden. TagName
darf nicht nur aus Leerzeichen bestehen.
Buffer
Puffer, in dem der neue Attributwert steht.
ValueLength
Länge des neuen Attributwerts. ValueLength
muss eine Zahl >= 0 sein.
SQLda
Diagnosebereich als Ausgabeparameter.