本帖最后由 SydPink 于 2013-09-04 21:52:16 编辑

解决方案 »

  1.   

    自己解决了。大致代码如下:
    procedure appendblob
    ( p_data in blob
    ) as  v_lobloc       BLOB; 
      v_blob_data    BLOB;
      v_amount       number;
      v_query_string VARCHAR2(1000);
     
    BEGIN  
      v_amount       := LENGTH(p_data);  
      v_blob_data    := p_data;  
      
      v_query_string := 'select c2 from table1  where  c1 = 11  for update';  
      
      EXECUTE IMMEDIATE v_query_string INTO v_lobloc;
      
      DBMS_LOB.writeappend(v_lobloc, v_amount, v_blob_data); 
      
      commit;  
        
      EXCEPTION  
         WHEN OTHERS THEN  
         ROLLBACK;  
    end appendblob;