1 PL/SQL 的简介
PL/SQL 简介
PL/SQL 是过程语言(Procedural Language)与结构化查询语言(SQL)结合而成的编程语言
PL/SQL 是对 SQL 的扩展
支持多种数据类型,如大对象和集合类型,可使用条件和循环等控制结构
可用于创建存储过程、触发器和程序包,给SQL语句的执行添加程序逻辑
与 Oracle 服务器和 Oracle 工具紧密集成,具备可移植性、灵活性和安全性
2 PL/SQL 的优点
支持 SQL,在 PL/SQL 中可以使用:
数据操纵命令
事务控制命令
游标控制
SQL 函数和 SQL 运算符
支持面向对象编程 (OOP)
可移植性,可运行在任何操作系统和平台上的Oralce 数据库
更佳的性能,PL/SQL 经过编译执行
与 SQL 紧密集成,简化数据处理。
支持所有 SQL 数据类型
支持 NULL 值
支持 %TYPE 和 %ROWTYPE 属性类型
安全性,可以通过存储过程限制用户对数据的访问
3 PL/SQL 的体系结构
PL/SQL 引擎驻留在 Oracle 服务器中
该引擎接受 PL/SQL 块并对其进行编译执行
4 PL/SQL 块简介
PL/SQL 块是构成 PL/SQL 程序的基本单元
将逻辑上相关的声明和语句组合在一起
PL/SQL 分为三个部分,声明部分、可执行部分和异常处理部分
[DECLARE -- 声明部分定义变量、游标和自定义异常declarations]BEGIN --- 包含 SQL 和 PL/SQL 语句的可执行部分executable statements[EXCEPTION --- 指定出现错误时需要执行的操作handlers]END;
5 PL SQL 入门示例
5.1 创建表
create table USER_INFO( USER_ID NUMBER not null, USER_NAME VARCHAR2(50), USER_AGE NUMBER, USER_SEX VARCHAR2(10))
5.2 添加1000测试数据
DECLARE num number :=1;BEGIN loop Dbms_Output.put_line('num='||num); insert into user_info (user_id,user_name) values(num,num||'张三'); commit; num:=num+1; exit when num>1000; end loop;EXCEPTION WHEN OTHERS THEN DBMS_OUTPUT.PUT_LINE('出错:'|| SQLERRM); END;