我写了一个带LOB参数的存储过程,
prco_view(v_blob in out blob,v_id varchar2)
IS
p_blob
begin
insert into scott.auths(AUTHOR_CODE,LOB) values (v_id,empty_blob());
returning LOB into p_blob;
select blob_col
into v_blob
from scott.test
where ID=v_id;
insert into scott.auths(AUTHOR_CODE,LOB) values (v_id,v_blob);
dbms_lob.copy(p_blob,v_blob,dbms_lob.getlength(v_blob));
end;
但是在trigger中调用时出错
CREATE OR REPLACE TRIGGER "SCOTT"."VTEST"
INSTEAD OF INSERT ON "SCOTT"."VTEST"
begin
scott.proc_view(:new.blob.col,:new.id);
end;主要目的是想在trigger中截获BLOB的值,然后写到另外一张表上,不知道我错在哪里,或者还有没有其它办法,各位大哥帮帮忙,谢了.
prco_view(v_blob in out blob,v_id varchar2)
IS
p_blob
begin
insert into scott.auths(AUTHOR_CODE,LOB) values (v_id,empty_blob());
returning LOB into p_blob;
select blob_col
into v_blob
from scott.test
where ID=v_id;
insert into scott.auths(AUTHOR_CODE,LOB) values (v_id,v_blob);
dbms_lob.copy(p_blob,v_blob,dbms_lob.getlength(v_blob));
end;
但是在trigger中调用时出错
CREATE OR REPLACE TRIGGER "SCOTT"."VTEST"
INSTEAD OF INSERT ON "SCOTT"."VTEST"
begin
scott.proc_view(:new.blob.col,:new.id);
end;主要目的是想在trigger中截获BLOB的值,然后写到另外一张表上,不知道我错在哪里,或者还有没有其它办法,各位大哥帮帮忙,谢了.
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货