【Oracle基础】存储过程/存储函数

先导知识

declare

    --说明部分
    变量 表名.列名%type;--引用型变量
    
    变量 表名%rowtype;--记录型变量

begin
    --数据操作

exception
    --例外处理语句

end;
/

判断语句

if 条件 then 语句;
elsif 语句 then 语句;
else 语句;
end if;

循环语句

--1.while循环
while i<=10 loop

i:=i+1;

end loop;



--2.loop循环
loop

exit when i>=10;

end loop;



--3.for循环
for i in 1..10 loop

end loop;

游标

          游标属性

               %ROWCOUNT   整型  获得FETCH语句返回的数据行数  
               %FOUND  布尔型 最近的FETCH语句返回一行数据则为真,否则为假  
               %NOTFOUND   布尔型 与%FOUND属性返回值相反  
               %ISOPEN 布尔型 游标已经打开时值为真,否则为假  

--1.定义游标
cursor 游标名 is select 字段名 from 表名; 

--2.打开游标
open 游标名;

--3.取记录
fetch 游标名 into 要存放的变量里;

--4.关闭游标
close 游标名

--5.游标与循环
declare

 cursor 游标名 is select 字段名 from 表名; --声明游标

begin

 open 游标名;--打开游标

 loop
  fetch 游标名 into 要存放的变量里;--取记录

  exit when 游标名%notfound;--游标遍历完,退出循环
 end loop;

end;

存储过程

--1.调用存储过程
--方法一
exec 存储过程名
--方法二
begin
    存储过程名();



--2.创建带参数的存储过程
create [or replace] procedure 存储过程名(输入变量1 in 数据类型,输出变量2 out 数据类型)
as
    --说明部分
begin
    --数据操作
end;
/

存储函数

create [or replace] function 函数名(输入变量1 in 数据类型,输出变量2 out 数据类型)
return 返回值类型
as
    --说明部分
begin
    --数据操作
    --return 返回值;
end;
/

存储过程和存储函数的区别

存储函数必须有一个return

存储过程和存储函数可以有一个或多个out参数

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值