Удаление BLOB-значения
Синтаксис
clear_blob([<объект>]);
Описание
Функция удаляет BLOB-значение указанного <объекта>, устанавливая его длину в 0. В качестве <объекта> может быть задано BLOB-значение курсора или BLOB-переменная. Удаляемое BLOB-значение курсора должно быть предварительно установлено с помощью функции set_cur_blob, в противном случае исполнение clear_blob() будет иметь неопределенное поведение.
Возвращаемое значение
-
0 при успешном завершении (значение типа int).
-
NULL при ошибке:
-
BADPARAM
: неверный параметр функции; -
NOMEM
: недостаточно оперативной памяти.
-
-
Код завершения СУБД ЛИНТЕР, который может быть получен с помощью функции errcode().
Примеры
create or replace table D1 (id int, D blob, F blob); insert into D1 values (1, 'pipe', 'Ivanova'); insert into D1 values (2, 'corner', 'Petrov'); insert into D1 values (3, 'channel', 'Sidorov'); 1) create or replace procedure PRC_CLEAR(in i int) result integer for debug declare var b typeof(D1);// code open b for "select * from D1 where id = ?;", i;// set_cur_blob(b,2);// CLEAR_BLOB(b);// return errcode();// end; select lenblob(D) from D1 where id = 1; |4| call PRC_CLEAR(1); select lenblob(D) from D1 where id = 1; |0| 2) create or replace procedure PRC_CLEAR2(in i int; in j int) result integer for debug code execute "select * from D1 where id = ?;", i;// set_cur_blob(3);// clear_blob();// return errcode();// end; select lenblob(F) from D1 where id = 1; |7| call PRC_CLEAR2(1); select lenblob(F) from D1 where id = 1; |0|