oracle 编写一个简单的存储过程以及调试过程

在oracle 12c下写的存储过程,仅供参考

1.先创建一个包

--说明
CREATE OR REPLACE PACKAGE "PKG_CLEAN_RE_BAS_BOOK" IS
  PROCEDURE CLEAN_RE_BAS_BOOK;
END;

2.在创建一个存储过程

--主体
CREATE OR REPLACE PACKAGE BODY "PKG_CLEAN_RE_BAS_BOOK" IS

  PROCEDURE CLEAN_RE_BAS_BOOK
  IS

  BEGIN
      
  --查找重复数据
  FOR curZPGHXXData IN (select a.book_no,count(1) renum from bas_book a group by a.book_no having count(a.book_no)>1) LOOP
    IF(curZPGHXXData.renum=2) THEN
       --DELETE FROM bas_book a where a.book_no=curZPGHXXData.book_no and a.author is null;
       DELETE FROM bas_book a where a.book_no=curZPGHXXData.book_no and a.printing is null;
    END IF;
  END LOOP;
  COMMIT;

   
-- 打印异常代码,异常堆栈
EXCEPTION
   WHEN OTHERS THEN
   ROLLBACK;
   dbms_output.put_line(sqlerrm);
   dbms_output.put_line(dbms_utility.format_error_stack);
  END;
  END;

 

3.调试教程

这里可以看到已经创建成功的包和存储过程

 

显示编译成功,否则查看编译错误;查看编译错误的SQL是

select * from SYS.USER_ERRORS where NAME = upper('PKG_CLEAN_RE_BAS_BOOK');

 

 

 

这里会进入测试页面

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值