在PL / SQL中,最小的有意义的代码分组被称为块。
块代码为变量声明和异常处理提供执行和作用域边界。
PL / SQL允许您创建匿名块和命名块。
命名块可以是包,过程,函数,触发器或对象类型。
PL / SQL是SQL的过程语言扩展,它具有块结构。
每一段代码都在块中执行。
PL / SQL块最多有四个不同的段,其中只有一个是强制的:
语法
PL / SQL有四个关键字:
DECLARE:每个PL / SQL块都有一个声明部分。
这是为游标,数据类型定义,变量,嵌入函数和过程分配内存的位置。
BEGIN:每个PL / SQL块都有一个可执行部分。
它以关键字BEGIN开头。
BEGIN标志着你把程序逻辑放在哪里的开始。
并且每个PL / SQL程序必须至少有一行可执行代码,即使它是关键字NULL,这意味着没有操作。
EXCEPTION:每个PL / SQL块都有一个异常处理部分。
它以关键字EXCEPTION开头。
这是您将捕获任何数据库或PL / SQL错误的地方。
与声明部分一样,您不会使用异常处理部分,但它仍然存在。
END:每个PL / SQL块以关键字END结束。
匿名块
我们将从一个匿名的PL / SQL块开始。
匿名blick不保存在数据库中。
它们非常适合创建测试单元。
匿名PL / SQL块的一般语法如下:
[ DECLARE ... declaration statements ... ]
BEGIN ... one or more executable statements ...
[ EXCEPTION
... exception handler statements ... ]
END;
方括号表示语法的可选部分。
您必须具有BEGIN和END语句,并且必须至少有一个可执行语句。
注意
以下代码是匿名PL / SQL块的示例。
注释描述不同的部分。
-- This is an anonymous procedure, so it has no name
declare
/*
declare local cursors, variables, and methods here.
We don't need to have a declaration section.
*/
begin
-- You write your logic here
null; -- at least one command!
exception
when NO_DATA_FOUND then
raise_application_error(-20000, 'No Data Found!');
end;
/ -- the forward slash says execute this procedure
set serveroutput on size 1000000
begin
SYS.DBMS_OUTPUT.put_line('Hi from java2s.com!');
end;
/
第一行告诉SQL * Plus在PL / SQL过程完成后,将您的会话的数据库输出回显到屏幕。
注意,对server 10000out设置serveroutput是一个SQL * Plus命令,不是匿名块的一部分。
例
以下代码显示了最小的匿名块:
BEGIN
DBMS_OUTPUT.PUT_LINE(SYSDATE);
END;
CSDN:程序猿 寄语:
1、作为一个真正的程序员,首先应该尊重编程,热爱你所写下的程序,他是你的伙伴,而不是工具。
2、程序员可以让步,却不可以退缩,可以羞涩,却不可以软弱,总之,程序员必须是勇敢的。
3、编程是一种单调的生活,因此程序员比普通人需要更多的关怀,更多的友情。
4、程序不是年轻的专利,但是,他属于年轻。
5、没有情调,不懂浪漫,也许这是程序员的一面,但拥有朴实无华的爱是他们的另一面。
6、一个好汉三个帮,程序员同样如此。
7、一个100行的代码调试都可能会让程序员遇到很多挫折,所以,面对挫折,我们永远不能低头。
8、调试完一个动态连接函数,固然值得兴奋,但真正的成功远还在无数个函数之后。
9、程序是我的生命,但我相信爱她甚过爱我的生命。
10、信念和目标,必须永远洋溢在程序员内心。
11、就算我们站在群山之颠,也别忘记雄鹰依旧能从我们头顶飞过。骄傲是比用JAVA进行底层开发更可笑的东西。
12、这句话不是很文雅,彻底鄙视那些害怕别人超越自己而拒绝回答别人问题的程序员。
13、如果调试一个程序让你很苦恼,千万不要放弃,成功永远在拐角之后,除非你走到拐角,否则你永远不知道你离他多远,所以,请记住,坚持不懈,直到成功。
14、最累的时候,家人是你最好的归宿。