如题,我要将两个blob字段进行合并,然后再保存到一个blob列中,这样可以么?

解决方案 »

  1.   

    SQL> DESC TEST_LOB
     名称                                      是否为空? 类型
     ----------------------------------------- -------- ------
     ID                                                 NUMBER
     IMAGE1                                              BLOB
     IMAGE2                                              BLOB
     DEST                                               BLOBUPDATE TEST_LOB SET DEST=EMPTY_BLOB() WHERE DEST IS NULL;
    COMMIT;DECLARE
       D BLOB;
       S1 BLOB;
       S2 BLOB;
    BEGIN
       SELECT IMAGE1 INTO S1 FROM TEST_LOB;
       SELECT IMAGE2 INTO S2 FROM TEST_LOB;
       SELECT DEST INTO D FROM TEST_LOB FOR UPDATE;    --必须锁定,否则报错 ORA-22920
       DBMS_LOB.APPEND(D,S1);   --D 和 S 均不能为空,否则报错 ORA-22275
       DBMS_LOB.APPEND(D,S2);
    END;
    /COMMIT;