ORACLE数据库的存储过程

6 篇文章 0 订阅

ORACLE数据库的存储过程

  • 存储过程概念:PL/SQL是将一个个PLSQL的业务处理过程存储起来进行服用,这些被存储起来的PLSQL程序被称之为存储过程。
  • 存储过程作用:在开发程序中,为了一个特定的业务功能,会向数据库进行多次连接关闭(连接和关闭是很消耗资源的)需要对数据库进行多次的I/O读写,性能比较低,如果把这些业务放到PLSQL中,在应用程序中只需要调用PLSQL就可以做到连接关闭一次数据库就可以实现我们的业务,可以大大提高了效率。
    语法
  `create or replace procedure 过程名称[(参数列表)] is 
  BEGIN
END[过程名称]`

PLSQL具体使用

  • PLSQL编程常见变量分为两大类
  • 1.普通数据类型(char,varchar,date,number,boolean,long)
    
  •  2.特殊变量类型(引用变量,记录型变量)
    
  • 声明变量方式
    1.变量名 变量类型(变量长度) 例如 v_OrderId varchar2(100)
  • 变量赋值方式的两种方式
    i.直接赋值使用:= 例如:v_orderId := ‘5201314’;
    ii.语句赋值,使用select 。。。into。。。赋值: (语法:select 值 into 变量)
    实例
    语句编写内容
    具体结果
    2.引用型变量使用和申明
    解释:变量类型和长度取决于表中字段的类型和长度.
    语法: 通过 表名.列名%TYPE来指定变量类型的类型和长度。 例如: v_orderId T_TP_DRIVER_PRICE.ORDER%TYPE
    实例
    具体内容
    执行结果
    引用类型变量的好处: 使用普通变量定义方式,需要知道表中列的类型,而使用引用类型,不需要考虑表中列的类型使用%TYPE时一个很好的编程风格,因此推荐使用。
  • 3.记录型变量
    解释;接受表中一整行的记录,相当于java中的一个对象。
    语法:变量名称 表名%TYPE, 例如: v_orderId T_TP_DRIVER_PRICE%rowtype;
    实例
    代码内容执行结果记录型变量慎用,用为查询的字段较多,会增加数据库的压力,因此在合适的场景使用。
  • PL/SQL流程控制语句
  • 语法:
Begin
  If 条件1  then  执行1
  Elsif 条件2 then 执行2
  Else  执行3
  End 
end

实例diamante内容执行结果
循环

循环Loop
语法:
Begin
  Loop
Exit when 退出循环
End Loop; 
end

实例
代码内容执行结果
游标的使用(类似java中的集合)

  • 什么是游标?
    游标就是一个临时存储一个查询返回的多行数据(结果集,类似java的jdbc连接返回的ResultSet集合),通过遍历游标,可以逐行进行访问处理该结果集的数据。
    游标使用步骤: 声明–>打开–>读取–>关闭
    语法
游标声明:
CURSOR 游标名(参数列表) IS 查询语句;
 游标打开:
 OPEN 游标名;
游标读取:
FETCH 游标名 INTO 变量列表;
游标关闭:
CLOSE 游标名;

游标属性
游标属性表格注:%NOTFOUND是在游标中找不到元素的时候返回TRUE,通常用来判断退出循环。
实例
代码内容截图
执行结果

  • 有参数游标使用
    在申明游标时候给定参数,根据给定的参数进行查询遍历
    实例
    代码内容执行代码
    注:%NOTFOUND属性默认值为FLASE,所以在循环中国注意判断条件的位置,如果先判断在FETCH会导致最后一条记录的值被打印两次(多循环默认);
    以上纯属个人见解,如有不同意见的朋友评论区留言补充交流
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值