目录
一、声明部分(declare)
二、执行部分(begin end)
三、异常处理部分 (Exception end)
四、代码示例
PL/SQL(Procedural Language/Structured Query Language)是Oracle数据库提供的一种过程化编程语言,它结合了SQL的查询、数据操作和控制结构,以及PL/SQL特有的过程化编程特性。PL/SQL块是PL/SQL编程的基本单元。
块结构通常包括三个部分: 声明部分、执行部分和异常处理部分。
一、声明部分(declare)
主要作用
1.申明块中将要使用的变量,数据类型,游标(cursor)以及局部的存储过程和函数。
2.声明部分的所有内容在pl/sql块执行之前进行初始化,但在执行部分和异常处理部分都可以使用这些声明。 (变量的作用域是从它被声明的位置开始,直到包含它的块的结束。在声明之前的代码中,由于变量还未被声明,因此无法使用。)
二、执行部分(begin end)
主要作用
1.执行部分是块的核心,包含了过程及SQL语句(sql语句和pl/sql语句),即程序的主要部分。
2.在此部分,可以执行各种数据操作,(如增删改查),调用过程函数,以及进行逻辑判断和循环控制等。
3.执行部分不能省略,且必须位于声明部分和异常处理部分之间。(如果两个都存在的话)
三、异常处理部分 (Exception end)
主要作用
1.处理块在执行过程中可能遇到的错误或者异常情况。
2.当执行部分的代码发生异常时,程序会跳转到异常处理部分,根据异常的类型执行相应的处理逻辑 。
3.异常处理部分可以包含多个异常处理器(Exception Handller),每个异常处理器都针对一种特定的异常类型进行处理。(我的理解就是和Java异常处理机制差不多)
四、代码示例
sql">declare --声明部分
v_name varchar2(10); --语法:变量名+数据类型
/*多个变量用分号隔开;变量名必须以字母开头,可以包含字母,下划线,美元符号,井号,但不包括空格和其他特殊字符。(关键字,以及语句不区分大小写,但是变量名区分);
*/
v_date date :=sysdate;--可以申明并初始化变量;begin --执行部分
select name into v_name from stutent; --执行sql语句,将查询结果赋值等操作
dbms_output.put_line('名字为:'||v_name);expection
when then --当…捕获异常;end
(作者是初学者,记录一下语法规范,方便学习。)
1.注释有两种,单行 --和多行/*...*/;
2.变量名定义规则 :字母开头,后续是字符,下划线,$,#,但不包括空格,以及其他字符。