目录
PL/SQL简介
PL/SQL优点
PL/SQL块简介
PL/SQL的过程数据显示(输出)以及变量定义和赋值
✨赋值方法
✨变量和常量
✨属性类型:
PL/SQL的控制语句
✨条件控制:
️if语句
️case语句
✨循环控制:
️ loop循环语法
️while循环语法
️for循环语法
PL/SQL是ORACLE对标准数据库语言的扩展
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言
PL/SQL 是对 SQL 的扩展
支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构
可用于创建存储过程、触发器和程序包,给SQL语句的执行添加程序逻辑
与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性、灵活性和安全性
1.支持 SQL,在 PL/SQL 中可以使用:
数据操纵命令
事务控制命令
游标控制
SQL 函数和 SQL 运算符
2.可移植性,可运行在任何操作系统和平台上的Oralce 数据库
3.更佳的性能,PL/SQL 经过编译执行
4.与 SQL 紧密集成,简化数据处理。
支持所有 SQL 数据类型
支持 NULL 值
支持 %TYPE 和 %ROWTYPE 属性类型
PL/SQL中的代码自动形成一个事物,出现异常就会一起回滚
5.安全性,可以通过存储过程限制用户对数据的访问
PL/SQL分为三个部分,声明部分、可执行部分和异常处理部分
DECLARE
说明部分;
BEGIN /* 块开始标记 */
执行部分;
EXCEPTION
异常处理部分;
END; /* 块结束标记 */
说明:
(1)说明部分:说明部分是可选的。由关键字DECLARE引出,用于定义常量、变量、游标、异常、复杂数据类型。在编写程序时,程序块中引用的数据对象和程序单元应遵循先定义后使用的原则。
(2)执行部分:执行部分是必需的。由关键字BEGIN开始,至END结束。PL/SQL程序块至少包含一条可执行语句,也可以嵌套其他PL/SQL程序块。
(3)异常处理部分:异常处理部分是可选的。由关键字EXCEPTION开始。当执行部分发生错误时,将会引起异常。这时,正常的执行将被停止且转移到异常程序处理。异常处理完成后,将结束对应PL/SQL块的执行。
DBMS_OUTPUT是一个函数包
PUT_LINE是一个函数,用于在客户端输出一行文本
其它函数
DBMS_OUTPUT.PUT(‘字符’):向一行中添加字符
DBMS_OUTPUT.NEW_LINE():输出一个新行
dbms_output.put_line('aa'); //输出字符串
直接赋值
通过键盘赋值 b:=&b
通过select into 给变量赋值
select name into name1 from 表名 where name='小王'
PL/SQL 块中可以使用变量和常量
在声明部分声明,使用前必须先声明
声明时必须指定数据类型,每行声明一个标识符
在可执行部分的 SQL 语句和过程语句中使用
声明变量: 变量名 数据类型;
声明常量:常量名 constant 数据类型:=初始值;
用于引用数据库列的数据类型,以及表示表中一行的记录类型
属性类型有两种:
%TYPE - 引用变量和数据库列的数据类型
%ROWTYPE - 提供表示表中一行的记录类型
使用属性类型的优点:
不需要知道被引用的表列的具体类型
如果被引用对象的数据类型发生改变,PL/SQL 变量的数据类型也随之改变
单分支:
if 条件表达式 then
语句块;
end if; --end if要分开写;
双分支:
if 条件表达式 then
语句块1;
else
语句块2;
end if;
多分支:
if 条件1 then
语句块1;
elsif 条件2 then
语句块2;
elsif 条件3 then
语句块3;
....
else
语句块n+1;
end if;
嵌套if
if 条件1 then
if 条件1-2 then
语句块1;
else
语句块2;
end if;
else
语句块3;
end if;
case 变量
when 变量值1 then
语句1;
when 变量值2 then
语句2;
when 变量值3 then
语句3;
else 语句4;
end case;
loop
exit when 条件表达式;
执行语句;
end loop;
while 循环条件
loop
执行语句;
end loop;
for 变量 in 起始值..结束值
loop
执行语句;
end loop;