一、PL/SQL程序结构包括3个部分:
1.DECLARE部分:定义变量、常量和游标等;
2.EXCEPTION部分:引领程序块异常处理部分;
3.BEGIN至END部分:标识程序块的可执行部分。
比如如下PL/SQL程序块:
SET SERVEROUTPUT ON;——将状态设置为on,这样之后的打印语句才能显示在控制台
DECLARE
out_text varchar2(50);
BEGIN
out_text :=’程序块结构’;(Oracle进行赋值时候用:=或defalut而不是=)
dbms_output.put_line(out_text);
EXCEPTION
when others then
dbms_output.put_line(‘异常’);——Oracle打印语句,将指定内容打印到控制台
END;——记得end之后要加分号,表示结束
例1:练习一个简单的PL/SQL编程
解:注意下图中的程序:
其中第10行的斜线是让程序运行,如果没有这个斜线,那么程序end;结束后不运行,所以要打个斜线运行。
二、PL/SQL编程之变量和常量
1.变量和常量必须定义在程序快declare部分;
2.变量名规范如下:
(1)必须以字母开头;
(2)Oracle标识符不区分大小写;
(3)变量名长度不能超过30个字符;
(4)标识符中不能包含减号“-”和空格;
(5)标识符不能是SQL关键字。
声明变量的例子:name varchar2(20);(变量名:变量类型;)
变量定义好之后,其赋值操作在BEGIN里面完成。
3.常量的定义
声明常量必须使用关键字constant。
比如:pi constant number(9) := 3.1415926;
(常量名称 constant 数据类型 :=数值)
【注意】Oracle中一旦在declare部分定义常量,就必须对其进行初始化赋值。
例2:练习PL/SQL编程,常量
解:注意下图的程序:
报错原因是out_text这个常量没有在定义的时候就初始化;如下修改正确:
三、PL/SQL编程之变量类型分类
在PL/SQL程序中,定义变量、常量、参数类型,则必须使用PL/SQL类型的变量。那么PL/SQL中的变量类型大致分为4种:
1.标量类型变量(重点);
(1)如果需要存储一个单独的值,则可以使用标量变量。然而,如果需要存储多个值(例如:数据库中一行记录),则需要一个复合类型(可以理解为数组)的的变量;
(2)标量变量所使用的一般数据类型,它包括字符、数字、日期和布尔型;
(3)数字数据类型除number类型之外,还有两个专门的数字数据
类型:PLS_INTEGER和BINARY_INTEGER;
(4)PLS_INTEGER数字类型代表所有符号整数,表示范围为-2^31到2^31;
(5)BINARY_INTEGER、PLS_INTEGER和BOOLEAN类型不能在创建表的时候使用。
2.复合类型变量(重点);
3.参照类型变量;
4.LOB类型变量。
四、PL/SQL编程之变量使用
1.into关键字可以将查询出来的值保存到变量:
例3:练习into关键字将查询结果保存到变量
解:注意下图的程序:
将student表中查询到的sno列记录数保存成变量。
注意下图的程序将查询结果保存到变量: