SQL_BLOB_VAL_PUT ersetzt den BLOB-Wert eines BLOB-Objekts durch einen neuen BLOB-Wert aus einem Puffer. Dazu müssen der REF-Wert des BLOB-Objekts, der Datenbankname, der Puffer, in dem der neue Wert steht, und die Länge des neuen Werts angegeben werden.
Das Ersetzen eines BLOB-Werts erfordert die Privilegien INSERT, SELECT und DELETE auf die BLOB-Tabelle. Zusätzlich benötigen Sie noch das UPDATE-Privileg auf die Spalte slice_val der BLOB-Tabelle.
CLI-Deklaration in C:
void SQL_BLOB_VAL_PUT( char const *REFvalue ,char const *CatalogId ,char *Buffer ,long int *ValueLength ,struct SQLda_t *SQLda);
CLI-Deklaration in COBOL:
IDENTIFICATION DIVISION. PROGRAM-ID. SQLbvpu IS PROTOTYPE. DATA DIVISION. LINKAGE SECTION. 01 REFvalue PIC X(237). 01 CatalogId 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, Buffer, ValueLength, SQLda. END PROGRAM SQLbvge.
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 mehr Leerzeichen angeben.
Buffer
Puffer, der den neuen BLOB-Wert enthält.
ValueLength
Länge des BLOB-Werts. ValueLength
muss eine Zahl >= 0 sein.
SQLda
Diagnosebereich.