2020-10-08

本文详细介绍了Oracle中的PL/SQL语言基础,包括其块结构、运算符、变量和常量声明、编码规范、注释以及异常处理机制。此外,还讲解了游标的使用,包括静态游标和显式游标的操作步骤,强调了游标在处理查询结果集中的作用。通过学习,读者将能掌握PL/SQL的基本编程技巧和异常控制流程。
摘要由CSDN通过智能技术生成

PL/SQL基础知识

什么是PL/SQL?
PL/SQL是结合Oracle过程语言和结构化查询语言的一种扩展语言
PL/SQL体系结构
PL/SQL块简介
定义:PL/SQL是一种块结构语言,它将一组语句放在一个块中。
组成:声明部分、执行部分、异常处理部分。
结构:[DECLARE]
–声明部分
BEGIN
–执行部分
[EXCEPRION]
异常处理部分
END;
–执行部分不能省略
运算部分和表达式
关系运算符:=、(<>、!=、~=、^=)不等于、<、>、<=、>=、
一般运算符:+、-、*、/、(:=)赋值号、=>、(…)范围运算符、||
逻辑运算符:IS NULL、BETWEEN AND、IN、AND、OR、NOT
常量和变量的声明
变量:
DECLARE variable_name date_type[(size)][:=init_value];
variable_name:变量名
date_type:数据类型
size:指定变量范围
init_value:变量的初始值
常量:
DECLARE variable_name CONSTANT date_type :=value;
标识符定义要求:
1、标识符名不能超过30个字符
2、第一个字符必须为字母
3、不区分大小写
4、不能用’-‘号
5、不能是SQL保留字
编码规则:1、利用缩进排列展现逻辑结构
2、利用大小写增强可读性
3、格式化单独语句
4、格式化SQL语句
注释
单行注释:–这是注释
多行注释:/这是注释/
LOB数据类型
BFILE
BLOB
CLOB
NCLOB
** 属性类型**
%TYPE:定义一个变量
优点:可以不必知道所引用的数据库列的数据类型
所引用的数据库列可以实时改变,容易保持一致,不要修改PL/SQL程序
%ROWTYPE:返回一个记录类型
优点:可以不必知道所引用的数据库列的个数和数据类型
所引用的数据库列的个数和数据类型可以实时改变,容易保持一致,不要修改PL/SQL程序

    **顺序控制** 
        NULL语句:这是一个可执行语句,相当于一个占位符或不执行任何操作的空语句,
                  可以使某些语句变得有意义,提高程序可读性,保证其他语句结果的完整性和正确性。

异常处理
什么是异常:在程序运行时出现的错误叫作异常。
预定义异常:(教材84页)
异常处理程序的语法:
BEGIN
sequence_of_statements;
EXCEPRION
WHEN <exception_name> THEN
sequence_of_statements;
WHEN OTHERS THEN
sequence_of_statements;
END;
OTHERS:处理程序确保不会漏掉任何异常
** 处理用户自定义异常**
步骤:1、在PL/SQL块的定义部分定义异常情况
<异常情况> EXCEPRION
2、抛出异常情况
PAISE <异常情况>;
3、在PL/SQL块的异常情况处理部分对异常情况作出相应处理
RAISE_APPLICATION_ERRO–储存过程,可以重新定义异常错误信息
语法:RAISE_APPLICATION_ERRO(error_name,error message);
显示游标
基本原理
在Oracle中,在执行一个查询,新增,修改,删除语句PL/SQL块时,Oracle在内存中分配一个缓冲区
将执行结果放在缓冲区,游标则是指向该区的一个指针。
游标分类
静态游标:隐式游标、显式游标
动态游标:。。。
显式游标
显示游标使用步骤
1)声明游标
语法:
CURSOR cursor_name [(parameter,[,parameter]…)]
[RETURN return_type] IS select_statements;
cursor_name:游标名称
parameter:为游标指定输入参数
return_type:定义游标提取的行的类型
select_statemenst:游标定义的查询语句
2)打开游标
语法:
OPEN cursor_name[(parameter)];
3)提取游标
语法:
FETCH cursor_name INTO variables;–变量名
4)关闭游标
语法:
CLOSE cursor_name;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值