PL/SQL 简介
概念:
-
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言
-
PL/SQL 是对 SQL 的扩展
-
支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构
-
可用于创建存储过程、触发器和程序包,给SQL语句的执行添加程序逻辑
-
与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性、灵活性和安全性
PL/SQL 的优点 -
支持 SQL,在 PL/SQL 中可以使用:
数据操纵命令 事务控制命令 游标控制
-
SQL 函数和 SQL 运算符
-
支持面向对象编程 (OOP)
-
可移植性,可运行在任何操作系统和平台上的Oralce 数据库
-
更佳的性能,PL/SQL 经过编译执行
-
与 SQL 紧密集成,简化数据处理。
支持所有 SQL 数据类型 支持 NULL 值 支持 %TYPE 和 %ROWTYPE 属性类型
-
安全性,可以通过存储过程限制用户对数据的访问
语法
PL/SQL 块简介
- PL/SQL 块是构成 PL/SQL 程序的基本单元
- 将逻辑上相关的声明和语句组合在一起
- PL/SQL 分为三个部分,声明部分、可执行部分和异常处理部分
代码块格式:
[DECLARE
--定义变量
declarations]
BEGIN
--主要执行的代码
executable statements
[EXCEPTION
--异常
handlers]
END;
举例:
begin
--控制台打印输出“hello,word”
dbms_output.put_line('hello,word!');
end;
declare
变量和常量
-
PL/SQL 块中可以使用变量和常量
在声明部分声明,使用前必须先声明 声明时必须指定数据类型,每行声明一个标识符 在可执行部分的 SQL 语句和过程语句中使用
-
声明变量和常量的语法:
identifier [CONSTANT] datatype [NOT NULL]
[:= | DEFAULT expr];
-
给变量赋值有两种方法:
使用赋值语句 := 使用 SELECT INTO 语句
举例:
--定义变量,先写变量名,后写类型,也可以初始化值
name varchar2(20):='张三';
age number :=20;
--定义常量,并初始化值1
sex constant number :=1;
数据类型
字符数据类型包括:
CHAR
VARCHAR2
LONG
RAW
LONG RAW
name varchar2(20):='张三';
age number :=20;
日期时间和布尔数据类型:
-
常用的两种日期时间类型
DATE TIMESTAMP
now date;
birthday timestamp;
布尔数据类型
此类别只有一种类型,即BOOLEAN类型
用于存储逻辑值(TRUE、FALSE和NULL)
不能向数据库中插入BOOLEAN数据
不能将列值保存到BOOLEAN变量中
只能对BOOLEAN变量执行逻辑操作
属性类型
属性类型有两种:
%TYPE - 引用变量和数据库列的数据类型
%ROWTYPE - 提供表示表中一行的记录类型
<