create or replace function fun_change_zyh(is_oldzyh in varchar2,is_newzyh in varchar2)
 return integer
  as
  li_return integer;
   
begin
   update patbase set zyh=:is_oldzyh  where zyh=:is_newzyh;
     if sqlcode=0 then
    li_return:=44;
    else
    li_return:=144;
    end if;
return li_return;
end

解决方案 »

  1.   

    我在oracle后台服务器上写了以上函数,
    update patbase set zyh=:is_oldzyh  where zyh=:is_newzyh;
    我想你写法是不对的。
      

  2.   

    create or replace function fun_change_zyh(is_oldzyh in varchar2,is_newzyh in varchar2)
     return integer
      as
      li_return integer;
       
    begin
       update patbase set zyh=is_oldzyh  where zyh=is_newzyh;
       if sqlcode=0 then
        begin
          li_return:=44;    
          commit;
        end
       else
        begin
          li_return:=144;
          rollback;
        end
       end if;
    return li_return;
    end
    可以试试!