PL/SQL 过程块

Posted popobobo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PL/SQL 过程块相关的知识,希望对你有一定的参考价值。

PL/SQL 过程块

PL/SQL 块是构成 PL/SQL 程序的基本单元
将逻辑上相关的声明和语句组合在一起
PL/SQL 分为三个部分,声明部分、可执行部分和异常处理部分

[DECLARE 
declarations] --声明部分
BEGIN
executable statements--可执行部分
[EXCEPTION 
handlers]--异常处理部分
END;

PL/SQL块可以分为三类:
1.无名块或匿名块(anonymous):动态构造,只能执行一次,可调用其它程序,但不能被其它程序调用。
2.命名块(named):是带有名称的匿名块,这个名称就是标签。
3.子程序(subprogram):存储在数据库中的存储过程、函数等。当在数据库上建立好后可以在其它程序中调用它们。
4.触发器(Trigger):当数据库发生操作时,会触发一些事件,从而自动执行相应的程序。
5.程序包(package):存储在数据库中的一组子程序、变量定义。在包中的子程序可以被其它程序包或子程序调用。但如果声明的是局部子程序,则只能在定义该局部子程序的块中调用该局部子程序。
例如

DECLARE
bid int := ‘&id‘;  
--v_isbn iweb_tbl_book.isbn%TYPE;
--v_title iweb_tbl_book.title%TYPE;
--v_author iweb_tbl_book.author%TYPE;
v_book iweb_tbl_book%ROWTYPE;
BEGIN
select * into v_book 
from iweb_tbl_book
where id = bid;
--输出结果
dbms_output.put_line(‘isbn:‘ || v_book.isbn);
dbms_output.put_line(‘title:‘ || v_book.title);
dbms_output.put_line(‘author:‘|| v_book.author);
dbms_output.put_line(‘pagenum:‘|| v_book.pagenum);
END;








以上是关于PL/SQL 过程块的主要内容,如果未能解决你的问题,请参考以下文章

PL/SQL 过程块

oracle PL/SQL高级编程

PL/SQL:如何在异常中获取 ORA 代码?

使用 Oracle 的块过程 PL/SQL

带有游标“匿名块已完成”的 PL/SQL 过程

Oracle 存储过程