编者按:
最好的学习是实践加上看官方文档。官方文档中的代码例更是精华和重点所在。
IT行业如此,编程如此,Oracle PL/SQL的学习更是如此。
本系列以摘自《Database PL/SQL Language Reference》的PL/SQL代码例为主进行介绍。
【免责声明】本号文章仅代表个人观点,与任何公司无关
编辑|SQL和数据库技术(ID:SQLplusDB)
PL/SQL(Procedural Language/SQL)是一种过程化语言,是Oracle数据库专有的,对SQL语句的扩展。
PL/SQL是把数据操作和查询语句组织在PL/SQL代码的过程性单元中,通过逻辑判断、循环等操作实现复杂的功能或者计算的程序语言。
PL/SQL例1:PL/SQL的基本语法块结构
代码语言:javascript复制<< label >> (optional)
DECLARE -- Declarative part (optional)
-- Declarations of local types, variables, & subprograms
BEGIN -- Executable part (required)
-- Statements (which can use items declared in declarative part)
[EXCEPTION -- Exception-handling part (optional)
-- Exception handlers for exceptions (errors) raised in executable part]
END;
代码语言:javascript复制set serveroutput on ;
-- 设置可输出、打印信息。
DECLARE
-- 声明部分,例如:定义变量、常量、游标。
BEGIN
-- 程序编写、SQL语句
EXECTPION
-- 处理异常
END ;
/
声明部分(DECLARE):包含变量定义、用户定义的PL/SQL类型、游标、引用的函数或过程;
执行部分(BEGIN):包含变量赋值、对象初始化、条件结构、迭代结构、嵌套的PL/SQL匿名块,或是对局部或存储PL/SQL命名块的调用;
异常部分(EXCEPTION):包含错误处理语句,该语句可以像执行部分一样使用所有项;
结束部分(END):程序执行到END表示结束,分号用于结束匿名块,而正斜杠(/)执行块程序;
例:
代码语言:javascript复制SQL> set serveroutput on;
SQL> declare
2 --定义变量
3 dosum number(3) := 0;
4 results varchar2(10) := '结果:';
5 begin
6 dosum := 1 2;
7 /*输出结果到控制台*/
8 dbms_output.put_line(results || dosum);
9 end;
10 /
结果:3
PL/SQL 过程已成功完成。
SQL>