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 exceptionsBEGIN (Mandatory)SQL statementsPL/SQL statementsEXCEPTION (Optional)Actions to perform when errors occurEND; (Mandatory)
使用分号作为一句SQL 或者PLSQL语句的结束;块结构关键字(DECLARE, BEGIN,EXCEPTION 后面不跟分号;END后面需带分号;可以把一句SQL语句写在一行上,但一般不建议这么做,因为代码不够漂亮
DECLAREv_variable VARCHAR2(5);BEGINSELECT column_nameINTO v_variableFROM table_name;EXCEPTIONWHEN exception_name THEN...END;
3、PLSQL的块包括三种:匿名块、存储过程、函数
A.匿名块
[DECLARE]BEGIN--statements[EXCEPTION]END;
B.存储过程
PROCEDURE nameISBEGIN--statements[EXCEPTION]END;
C.函数
FUNCTION nameRETURN datatypeISBEGIN--statementsRETURN value;[EXCEPTION]END;
