首先,我们知道什么是SQL, 那PL/SQL就不难理解,可以理解成在sql的基础上加上控制语句。
一、PL/SQL概念
PL/SQL 是过程语言与结构化查询语言结合而成的编程语言。
- pl/sql是对sql的扩展,给sql语句增加了程序逻辑(跳转、循环……)
- 支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构。
- 与oracle紧密集成,具备可移植性/灵活性/安全性
注意:plsql程序段中不允许包含ddl语句。(除非动态sql)
二、优点
①支持 SQL,在 PL/SQL 中可以使用:
- 数据操纵命令
- 事务控制命令
- 游标控制
- SQL 函数和 SQL 运算符
②用户把PL/SQL块整个发送到服务器端,oracle服务器端编译、运行,再把结果返回给用户。(节省网络流量)
③可移植性,可运行在任何操作系统和平台上的Oralce 数据库
④安全性,可以通过存储过程限制用户对数据的访问。
⑤与 SQL 紧密集成,简化数据处理。
- 支持所有 SQL 数据类型
支持 NULL 值
支持 %TYPE 和 %ROWTYPE 属性类型
三、体系结构
用户将PL/SQL块发送给oracle服务器,在服务器端有两类引擎,PL/SQL引擎用来执行过程语句,SQL引擎用来执行sql语句。
for i in 1..100 loop --PL/SQL引擎
insert into students values(1,'lily',18); --SQL引擎
end loop; --PL/SQL引擎
四、PL/SQL程序块
plsql程序块可以分为三大部分,声明部分,可执行部分 ,异常处理部分
[declare
declarations]
begin
executable statements
[Exception
handlers]
END;
声明变量与常量:
变量和常量在声明部分声明,