一、概述
全称: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)结束,必须有——注意这里有个分号
扫描二维码关注公众号,回复:
10813027 查看本文章
三、块类型
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;
匿名块和有名块的区别:
匿名块不存在数据库里面,写完一次执行,下次要用时只能再敲一次代码,适合调试用,实际上我们在调用一些函数的时候使用的就是匿名块;
有名块可以存在数据库中,下次可以直接调用,适合正式使用。