Я хочу добавить BLOB, извлеченный из БД, в другое поле BLOB.Это код
CREATE OR REPLACE FUNCTION CONCAT_BLOB(A IN BLOB, B IN BLOB) RETURN BLOB IS
C BLOB;
BEGIN
dbms_lob.createtemporary(c, TRUE);
DBMS_LOB.APPEND(c, A);
DBMS_LOB.APPEND(c, B);
RETURN c;
END;
CREATE OR REPLACE PROCEDURE writeAppendTempLOB_proc IS
SRC_blob BLOB;
SRC_blob2 BLOB;
BEGIN
SELECT PDF INTO SRC_BLOB FROM T1 WHERE COD = 'XXX' AND NUM = 1;
SELECT PDF INTO SRC_BLOB2 FROM T1 WHERE COD = 'XXX' AND NUM = 2;
update T1 set pdf = CONCAT_BLOB(SRC_BLOB,SRC_BLOB2) where COD = 'XXX' AND NUM = 3;
commit;
end;
это очевидно работает, потому что обновленный размер поля - это размер (src_blob) + размер (src_blob2).но когда я загружаю обновленное поле PDF, отображается только последняя добавленная страница (т. е. NUM = 2);Более того, когда я закрываю программу чтения PDF, она просит сохранить изменения документа.Любое предложение, чтобы исправить эту ошибку?спасибо