我现在有一张表emp(id varchar2(5),zp(long raw))我现在要建另外一张表对其备份(emp_bf(id varchar2(5),zp(long raw)))
reate or replace procedure pd_emp_copy(as_id in number) is
lbl_zp blob;
begin
  insert into emp_bf(id)
  select id from emp where id=as_id;
  select zp into lbl_zp from emp where id=as_id;
  update emp_bf
  set zp=lbl_zp
  where id=as_id;

  commit;
end;其中红色的通不过,请各位帮帮忙

解决方案 »

  1.   


    create or replace procedure pd_emp_copy(as_id in number) is
    row int:=0;
    begin
      select count(1) into row from emp_bf where id=as_id;
      if row=0 then 
        insert into emp_bf(id,zp) select id,zp from emp;
        commit;
      end if;
    end;
     
      

  2.   

           insert into rs.empzp(zp)
           select zp from rs.empzp@fdrs where empid=cur.empid;PROCEDURE RS.PD_EMP_ADD 编译错误错误: PL/SQL: ORA-00932: 不一致的数据类型: 要求 NUMBER 得到的却是 BINARY
    行: 17
    文本: select zp from rs.empzp@fdrs where empid=cur.empid;错误: PL/SQL: SQL Statement ignored
    行: 16
    文本: insert into rs.empzp(zp)