欢迎光临
我们一直在努力

Oracle万能存储过程

 

create or replace procedure proc_data_check is

    —定义变量

    V_LOCK_ID            INTEGER;

    v_lockhandle         VARCHAR(128);

    V_RELEASE_ID         INTEGER;

    —定义出错异常信息编码

    v_error_code VARCHAR2(10) := ”;

    —定义错误异常描述信息

    v_error_message VARCHAR2(1000) := ”;

    cursor check_orgs is

    select org_code, org_name from check_org;

 begin

  DBMS_LOCK.ALLOCATE_UNIQUE(‘PROC_DATA_CHECK’, v_lockhandle, 86400);

  V_LOCK_ID := DBMS_LOCK.REQUEST(v_lockhandle, DBMS_LOCK.X_MODE, 0, FALSE);

  if (V_LOCK_ID = 0) then

  for check_org in check_orgs loop

    null;

  end loop;

 

  V_RELEASE_ID := dbms_lock.release(v_lockhandle);

  COMMIT;

  end if;

  commit;

EXCEPTION

  WHEN OTHERS THEN

    V_RELEASE_ID := dbms_lock.release(v_lockhandle);

    —得到异常编码

    V_ERROR_CODE := SQLCODE;

    —得到异常描述信息

    V_ERROR_MESSAGE := SQLERRM;

    —将异常信息维护到异常表中

end proc_data_check;

 

赞(0)
【声明】:本博客不参与任何交易,也非中介,仅记录个人感兴趣的主机测评结果和优惠活动,内容均不作直接、间接、法定、约定的保证。访问本博客请务必遵守有关互联网的相关法律、规定与规则。一旦您访问本博客,即表示您已经知晓并接受了此声明通告。