简单介绍Oracle的存储过程

什么是存储过程

  • 存储过程是存储在Oracle数据库中的一段plsql程序块,我们可以使用存储过程来完成一定的操作数据库的逻辑。它类似于编程中的方法(只是类似哦!),可以有输入参数、输出参数、输入输出参数。
  • 存储过程最大的优点是速度很快,因为其存储在数据库中,且已经编译过了,所以调用时速度很快。

存储过程的使用

  • 创建存储过程
CREATE OR REPLACE PROCEDURE INSERT_DEPT_PROCEDURE(
       deptNo IN NUMBER,--输入型参数
       deptName IN VARCHAR2 DEFAULT '新建部门',--输入参数的默认值
       deptLoc IN VARCHAR2,
       deptInfo OUT VARCHAR2,--输出型参数
       returnInfo IN OUT BOOLEAN--输入输出型参数
       ) IS 
BEGIN 
  INSERT INTO dept VALUES(deptNo,deptName,deptLoc);
  COMMIT;
  dbms_output.put_line('插入数据成功');
  SELECT dt.deptno||dt.dname||dt.loc INTO deptInfo FROM dept dt;--给输出型参数赋值
  IF returnInfo THEN
    returnInfo :=FALSE;
    ELSE
      returnInfo := TRUE;
      END IF;
      --这里可以有异常处理的代码
END INSERT_DEPT_PROCEDURE;
  • 调用存储过程
    调用存储过程可以是在命令行中或者编程中,编程中调用存储过程暂时不介绍,在命令行中调用如下:
EXECUTE INSERT_DEPT_PROCEDURE;--无参数调用
execute INSERT_DEPT_PROCEDURE(88,'软件部','重庆');--有参数调用(按位置)
--参数调用时,有按位置传递和按名称传递两种,按名称传递一般不使用,这里不介绍
  • 删除存储过程
DROP PROCEDURE INSERT_DEPT_PROCEDURE;

猜你喜欢

转载自blog.csdn.net/qq_43222869/article/details/106468397