微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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;

 

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐