PL/SQL程序都是以块为基本单位,整个PL/SQL块分为3部分:声明部分(用DECLARE开头),执行部分(以BEGIN开头)和异常处理部分(以EXCEPTION开头)
- 特殊数据类型
使用%TYPE关键字可以声明一个与指定列名称相同的数据类型,它通常紧跟在指定列名的后面。
RECORD类型。
%ROWTYPE类型的变量结合了%TYPE类型和RECORD类型变量的优点,它可以根据数据表中行的结构定义一种特殊的数据类型,用来存储从数据表中检索到的一行数据。
- PL/SQL游标
游标的作用就相当于指针,通过游标PL/SQL程序可以一次处理查询结果集中的一行,并可以对该行数据执行特定操作,从而为用户在处理数据的过程中提供了很大方便。
在ORACLE中,通过游标操作数据主要使用显示游标和隐式游标。
显示游标是由用户声明和操作的一种游标,通常用于操作查询结果集(即由SELECT语句返回的查询结果),使用它处理数据的步骤包括:声明游标,打开游标,读取游标和关闭游标4个步骤。
无论是显示游标还是隐式游标,都具有%found,%notfound,%isopen和%rowcount4个属性。
%found:布尔型属性,如果SQL语句至少影响到一行数据,则该属性为true,否则为false。
%notfound:布尔型属性,与%found属性的功能相反。
%rowcount:数字型属性,返回受SQL语句影响的行数。
%isopen:布尔型属性,当游标已经打开时返回true,游标关闭时则为false。
在执行一个SQL语句时,ORACLE会自动创建一个隐式游标。隐式游标主要是处理数据操作语句(如UPDATE,DELETE语句)的执行结果,当然特殊情况下,也可以处理SELECT语句的查询结果。
- PL/SQL异常处理
预定义异常:ORACLE系统自身为用户提供了大量的,可在PL/SQL中使用的预定义异常,以便检查用户代码失败的一般原因。
自定义异常