PL/SQL程序设计(二)—— PL/SQL块结构和组成元素

(一)PL/SQL块 

  PL/SQL程序由三个块组成,即声明部分、执行部分、异常处理部分,其中执行部分是必须的。

PL/SQL块的结构如下:

PL/SQL块可以分成三类:

1、无名快:动态构造,只能执行一次。

2、子程序:存储在数据库中的存储过程、函数及包等。当在数据库建立好后可以在其他程序中调用它们。

3、触发器:当数据库发生操作时,会触发一些时间按,从而自动执行相应的程序。

(二)PL/SQL结构

  • PL/SQL块中可以包含子块

  • 子块可以位于PL/SQL中的任何部分

  • 子块也即PL/SQL中的一条命令

(三)标识符

PL/SQL程序设计中的标识符定义与SQL的标识符定义要求相同,要求和限制如下:

  • 标识符名不能超过30字符

  • 第一个字符必须为字母

  • 不分大小写

  • 不能用‘-’(减号)

  • 不能是SQL保留字

提示:一般不要把变量名声明与字段名完全一样,如果这样可能得到不正确的结果

变量命名在PL/SQL中有特别的讲究,建议在系统的设计阶段就要求所有编程人员共同遵守一定的要求,使得整个系统的文档在规范上达到要求。下面是建议的命名方法:

(四)PL/SQL变量类型

1、变量类型

2、复合类型

ORACLE在PL/SQL中除了提供像前面介绍的各种类型外,还提供了一种成为复合类型 —— 记录和表

(1)记录类型

记录类型是把逻辑相关的数据作为一个单元存储起来,称作PL/SQL RECORD的域,其作用是存放互不相同但逻辑相关的信息

语法:

DBMS_OUTPUT.PUT_LINE过程的功能类似与JAVA中的System.out.println();直接将结果输出到标准输出中

在使用上述过程之前必须将SQL*PLUS的环境参数SERVEROUTPUT设置为ON,否则将看不到输出结果:set serveroutput on

(2)使用%TYPE

定义一个变量,其数据类型与意境定义的某个数据变量的数据类型相同,或者与数据库表的某个列的数据类型相同,这是就可以使用%TYPE。

优点:

  • 所使用的数据库列的数据类型可以不必知道

  • 所引用的数据库列的数据类型可以实时改变

(3)使用%ROWTYPE

PL/SQL提供的%ROWTYPE操作符,返回一个记录类型,其数据类型和数据库表的数据结构相一致。

优点:

  • 所引用的数据库中列的个数和数据类型可以不必知道

  • 所引用的数据库中列的个数和数据类型可以实时改变

 

 

(4)PL/SQL表(嵌套表)

PL/SQL程序可使用嵌套表类型创建具有一个或多个列和无限行的变量,这很像数据库中的表,声明嵌套表类型的一般语法如下:

在使用嵌套表之前必须先使用该集合的构造器初始化它,PL/SQL自动提供一个带有相同名字的构造器作为集合类型

嵌套表可以有任意数量的行,表的大小在必要时课动态地增加或减少:extend(x)方法添加x个空元素到集合末尾;trim(x)方法去掉集合末尾的x个元素

(五)运算符和表达式(数据定义)

1、关系运算符

2、一般运算符

 3、逻辑运算符

(六)变量赋值

在PL/SQL编程中,变量赋值只一个值得注意的地方,语法如下:

1、字符与数字运算特点

2、BOOLEAN复制

布尔值只有TURE,FALSE及NULL三个值

3、数据库赋值

数据库赋值是通过select语句来完成的,每次执行SELECT语句就赋值一次,一般要求被赋值的变量与SELECT找那个的列名要一一对应

4、可转化的类型赋值

(七)变量作用范围及可见性

 

猜你喜欢

转载自www.cnblogs.com/wffrzh/p/9435700.html