PL/SQL 包的创建和应用(2)

--函数定义
  FUNCTION remove_dept(dept_no NUMBER)
      RETURN NUMBER
  IS
  BEGIN
      DELETE FROM dept WHERE deptno=dept_no;
      IF SQL%FOUND THEN
          RETURN 1;
      ELSE
          RETURN 0;
      END IF;
  EXCEPTION
      WHEN OTHERS THEN
          RETURN -1;
  END remove_dept;


  --过程定义
  PROCEDURE query_dept(dept_no IN NUMBER)
  IS
  BEGIN
      SELECT * INTO DeptRec FROM dept WHERE deptno=dept_no;
  EXCEPTION
      WHEN NO_DATA_FOUND THEN 
          DBMS_OUTPUT.PUT_LINE('数据库中没有编码为'||dept_no||'的部门');
      WHEN TOO_MANY_ROWS THEN
          DBMS_OUTPUT.PUT_LINE('程序运行错误!请使用游标');
      WHEN OTHERS THEN
          DBMS_OUTPUT.PUT_LINE(SQLCODE||’----‘||SQLERRM);
  END query_dept;
BEGIN
  Null;
END demo_pack;

Oracle--plsql复合数据类型

--------------------------------------分割线 --------------------------------------

rlwrap - 解决Linux下SQLPLUS退格、上翻键乱码问题

SQLPLUS spool 到动态日志文件名

Oracle SQLPLUS提示符设置

通过设置SQLPLUS ARRAYSIZE(行预取)加快SQL返回速度

PL/SQL Developer实用技巧分享

--------------------------------------分割线 --------------------------------------

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/83be1eb6a97c18e654a286ce30cc3e07.html