PLSQL
一、PL/SQL 程序设计简介
PL/SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。除此之外,可以在ORACLE数据库的某些客户端工具中,使用PL/SQL语言也是该语言的一个特点。
二、PL/SQL 块结构和组成元素
PL/SQL 块
PL/SQL 程序由三个块组成,即声明部分、执行部分、异常处理部分
PL/SQL 块的结构如下:
DECLARE
/* 声明部分: 在此声明 PL/SQL 用到的变量,类型及游标,以及局部的存储过程和函数 */
BEGIN
/* 执行部分: 过程及 SQL 语句 , 即程序的主要部分 */
EXCEPTION
/* 执行异常部分: 错误处理 */
END;
--其中 执行部分是必须的。
PL/SQL 块可以分为三类:
- 无名块:动态构造,只能执行一次
- 子程序:存储在数据库中的**存储过程、函数**及包等。当在数据库上建立好后可以在其它程序中调用它们
- 触发器:当数据库发生操作时,会触发一些事件,从而自动执行相应的程序
PL/SQL 结构
- PL/SQL 块中可以包含子块
- 子块可以位于 PL/SQL 中的任何部分
- 子块也即 PL/SQL 中的一条命令
标识符
PL/SQL 程序设计中的标识符定义与 SQL 的标识符定义的要求相同。要求和限制有:
- 标识符名不能超过 30 字符
- 第一个字符必须为字母
- 不分大小写
- 不能用’-‘(减号);
- 不能是 SQL 保留字。
提示 :一般不要把变量名声明与表中字段名完全一样,如果这样可能得到不正确的结果
--例如:下面的例子将会删除所有的纪录,而不是KING 的记录;
DECLARE
Ename varchar2(20) := ’KING’;
BEGIN
DELETE FROM emp WHERE ename=ename;
END;
变量命名在 PL/SQL 中有特别的讲究,建议在系统的设计阶段就要求所有编程人员共同遵守一定的要求, 使得整个系统的文档在规范上达到要求。下面是==建议的命名方法==:
标识符 | 命名规则 | 例子 |
---|---|---|
程序变量 | **V_**name | V_name |
程序常量 | **C_**Name | C_company_name |
游标变量 | Name**_cursor** | Emp_cursor |
异常标识 | **E_**name | E_too_many |
表类型 | Name_table_type | Emp**_record_type** |
表 | Name_table | Emp |
记录类型 | Name |