1、PLSQL的概览
PLSQL 是Oracle公司在SQL基础上进行扩展而成的一种过程语言。PLSQL提供了典型的高级语言特性,包括封装,例如处理机制,信息隐藏,面向对象等;并把最新的编程思想带到了数据库服务器和工具集中。
与Java,C#相比 ,PLSQL的优势是:SQL语言可以直接写到PLSQL的“块”中或者是PLSQL的过程、函数中。没有必要向java那样先创建Statement对象来执行SQL; 这使得PLSQL成为很强大的事务处理语言,即:使用SQL来处理数据,使用控制结构来处理业务逻辑。
PLSQL在Oracle 数据库服务器(在存储过程、函数、数据库触发器,Package包中使用)和Oracle开发 工具集(在 开发工具组件的触发器中使用);Form Developer,Report Developer 还可以使用共享库 (包含使用PLSQL写的过程和函数,扩展名为PLL的文件); SQL数据类型也可以在PLSQL中使用,结合 SQL提供者的直接访问,这些共享数据类型整合了PLSQL和Oracle的数据库字典。PLSQL消除了存取数据 库的便利性与过程语言之间的障碍。
PLSQL的另一个显著好处在于它可以通过减少来回交互减轻网络流量压力、节省时间。
2、PLSQL的块概念
DECLARE (Optional)
Variables, cursors, user-defined exceptions
BEGIN (Mandatory)
SQL statements
PL/SQL statements
EXCEPTION (Optional)
Actions to perform when errors occur
END; (Mandatory)
使用分号作为一句SQL 或者PLSQL语句的结束;块结构关键字(DECLARE, BEGIN,EXCEPTION 后面不跟分号;END后面需带分号;可以把一句SQL语句写在一行上,但一般不建议这么做,因为代码不够漂亮
DECLARE
v_variable VARCHAR2(5);
BEGIN
SELECT column_name
INTO v_variable
FROM table_name;
EXCEPTION
WHEN exception_name THEN
...
END;
3、PLSQL的块包括三种:匿名块、存储过程、函数
A.匿名块
[DECLARE]
BEGIN
--statements
[EXCEPTION]
END;
B.存储过程
PROCEDURE name
IS
BEGIN
--statements
[EXCEPTION]
END;
C.函数
FUNCTION name
RETURN datatype
IS
BEGIN
--statements
RETURN value;
[EXCEPTION]
END;