PL/SQL 过程

概述

  存储过程是一组为了完成特定功能的SQL语句,经编译后存储在数据库中。

创建过程
CREATE [OR REPLACE] PROCEDURE <过程名>(
    参数1 [方式in|out] 数据类型,
    参数2 [方式in|out] 数据类型,
    参数n [方式in|out] 数据类型
) IS|AS
[可以在这里进行一些变量的声明]
BEGIN
    PLSQL过程体
END <过程名>
说明:
  • CREATE OR REPLACE PROCEDURE:关键字用来创建或覆盖一个原有的存储过程,OR REPLACE就是覆盖的意思,如果已经有这个存储过程了那么就覆盖掉,没有就创建。
  • IS|AS:关键字
    在存储过程(PROCEDURE)和函数(FUNCTION)中没有区别;
    在视图(VIEW)中只能用AS不能用IS;
    在游标(CURSOR)中只能用IS不能用AS。
举例
create or replace procedure ON_CURSOR(enable_var in TEST.IS_ENABLE%TYPE,count out NUMBER)
AS

  CURSOR testData(enableData TEST.IS_ENABLE%TYPE) IS SELECT COUNT(UUID) FROM test WHERE IS_ENABLE=enableData; 
begin
  LOOP
    IF testData %ISOPEN THEN 
      EXIT WHEN testData%NOTFOUND;
      FETCH testData INTO count;
    ELSE 
      OPEN testData(enable_var);
    END IF;
  END LOOP;
  CLOSE testData;
end ON_CURSOR2;

调用过程

  调用过程的命令是EXECUTE,在begin……end中可以直接使用过程名进行调用。

EXCUTE ON_CURSOR(1,i);
declare 
  i NUMBER;
begin
  ON_CURSOR(1,i);
end;

删除过程
DROP PROCEDURE <过程名>;
参数说明

过程的参数分为3种类型,in,out,in out

in

  表示这个参数是输入参数,供过程使用的。

out

  表示这个参数是输出参数,在过程里面赋值然后外面获取。

in out

  表示这个既可以输入也可以输出,双向。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值