PL/SQL的使用几乎贯穿了整个oracle的学习过程,也是作为一个初级开发人员必须掌握的重要知识点。
PL/SQL是oracle公司在标准SQL语言的基础上进行扩展而形成的一种可以在数据库上进行设计编程的语言,通过oracle的PL/SQL引擎执行。PL/SQL完全像java语言一样实现逻辑编辑,条件循环以及异常处理等,这是标准的SQL很难办到的事情。由于它的基础是标准的SQL语句,这就使得数据库开发人员能快速地掌握并运用,相信这也是oracle开发人员喜爱它的另一个重要原因。总的来说,PL/SQL有以下几个特点:
--支持事务控制和SQL数据操作命令
--它支持SQL的所有数据类型,并且在此基础上扩展了新的数据类型,也支持SQL的函数以及运算符
--PL/SQL可以存储在oracle服务器上
--服务器上的PL/SQL程序可以使用权限进行控制
--oracle有自己的dbms包,可以处理数据的控制和定义命令
PL/SQL的优势
--可以提高程序的运行性能
--可以使程序模块化
--可以采用逻辑控制语句来控制程序结构
--利用处理运行时的错误信息
--良好的可移植性
PL/SQL的结构
DECLARE --声明开始关键字
--声明部分,包括PL/SQL中的变量,常亮以及类型等
BEGIN --执行部分开始的标志
-- 执行部分,是整个PL/SQL块的主体部分,该部分在PL/SQL块中必须存在,可以使SQL语句或者程序流程控制语句等
END;--执行结束标志
分支
DECLARE B NUMBER(10); C NUMBER(10); BEGIN B := 2; C := 0; IF B = 0 OR C = 0 THEN RAISE NOZERO; END IF; IF B > C THEN DBMS_OUTPUT.PUT_LINE('b大于c'); ELSIF B < C THEN DBMS_OUTPUT.PUT_LINE('c大于b'); ELSE DBMS_OUTPUT.PUT_LINE('b等于c'); END IF; END;
循环
DECLARE M NUMBER(5); BEGIN M := 5; /* LOOP EXIT WHEN M < 0; DBMS_OUTPUT.PUT_LINE(M); M := M - 1; END LOOP;*/ /* WHILE m > 0 LOOP DBMS_OUTPUT.PUT_LINE(M); M := M - 1; END LOOP;*/ /* FOR n IN 1..5 LOOP DBMS_OUTPUT.PUT_LINE(n); END LOOP;*/ END;