一、概述
全称:Procedural Language extension to SQL(SQL的过程性控制语言)
它是Oracle公司专有的SQL控制语言,它无缝的把过程性控制语言和SQL结合在一起。

二、块结构
PL/SQL的基本程序单元是:块,包含以下几部分
1、DECLARE(optional)声明,可选
—Variables,cursors,user-defined,exceptions(一般定义一些变量或游标)
2、BEGIN(mandatory)开始,必须有
—SQL statements
—PL/SQL statements
3、EXCEPTION(optional)异常处理,可选
—Actions to perform when errors occur
4、END;(mandatory)结束,必须有——注意这里有个分号
三、块类型
1、Anonymous(匿名块)
不给过程起名,结构如下:
[DECLARE]
BEGIN
--statements
[EXCEPTION]
END;
代码举例

2、Procedure(过程)
结构如下:
PROCEDURE name
IS
BEGIN
--statements
[EXCEPTION]
END;
3、Function(函数)——与Procedure的区别:Function一定要返回值
FUNCTION name
RETURN datatype
IS
BEGIN
--statements
RETURN value;
[EXCEPTION]
END;
匿名块和有名块的区别:
匿名块不存在数据库里面,写完一次执行,下次要用时只能再敲一次代码,适合调试用,实际上我们在调用一些函数的时候使用的就是匿名块;
有名块可以存在数据库中,下次可以直接调用,适合正式使用。
网友评论