PL/SQL基础语法

前言

享受自由。

PL /SQL是一种高级数据库程序设计语言,该语言专门用于在各种环境下对ORACLE数据库进行访问。由于该语言集成于数据库服务器中,所以PL/SQL代码可以对数据进行快速高效的处理。除此之外,可以在ORACLE数据库的某些客户端工具中,使用PL/SQL语言也是该语言的一个特点。

PL/SQL块结构和组成元素

PL/SQL块

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

PL/SQL块的结构如下:

/* 声明部分: 在此声明PL/SQL用到的变量,类型及游标,以及局部的存储过程和函数 * /

BEGIN

/* 执行部分: 过程及SQL 语句 , 即程序的主要部分 * /

EXCEPTION

/* 执行异常部分: 错误处理 */

END;

其中 执行部分是必须的。

记录类型语法

定义如下:

TYPE record_type IS RECORD(  Field1 type1 [NOT NULL] [:= exp1 ],  Field2 type2 [NOT NULL] [:= exp2 ],  . . . . . .  Fieldn typen [NOT NULL] [:= expn ] ) ;

例:

屏幕快照 2018-01-14 00.35.23.png

或:

屏幕快照 2018-01-14 00.36.49.png

提示

  1. DBMS_OUTPUT.PUT_LINE 过程的功能类似于 Java 中的 System.out.println() 直接将输出结果送到标准输出中.
  2. 在使用上述过程之前必须将 SQL * PLUS 的环境参数 SERVEROUTPUT 设置为 ON, 否则将看不到输出结果: set serveroutput on

使用%TYPE语法

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

使用%TYPE特性的优点在于:

  • 所引用的数据库列的数据类型可以不必知道;
  • 所引用的数据库列的数据类型可以实时改变;

例:

屏幕快照 2018-01-14 00.39.28.png

使用%ROWTYPE语法

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

使用%ROWTYPE特性的优点在于:

  • 所引用的数据库中列的个数和数据类型可以不必知道;
  • 引用的数据库中列的个数和数据类型可以实时改变。

例:

屏幕快照 2018-01-14 00.41.23.png

流程控制语法

介绍PL/SQL的流程控制语句, 包括如下三类:

  1. 控制语句: IF 语句
  2. 循环语句: LOOP语句, EXIT语句
  3. 顺序语句: GOTO语句, NULL语句

条件语句

IF表达式

IF THEN

PL/SQL 和 SQL语句

END IF;

IF THEN

PL/SQL 和 SQL语句

ELSE

其它语句

END IF;

IF THEN

PL/SQL 和 SQL语句

ELSIF THEN

其它语句

ELSIF THEN

其它语句

ELSE

其它语句

END IF;

case表达式

CASE selector  WHEN expression1 THEN result1  WHEN expression2 THEN result2  。。。。  WHEN expressionN THEN resultN  [ ELSE resultN+1]  END;

循环语句

简单循环

LOOP

要执行的语句;

EXIT WHEN /* 条件满足,退出循环语句*/

END LOOP;

while循环

WHILE LOOP

要执行的语句;

END LOOP;

for循环

FOR 循环计数器 IN [ REVERSE ] 下限 .. 上限 LOOP

要执行的语句;

END LOOP;

标号和GOTO

PL/SQL中GOTO语句是无条件跳转到指定的标号去的意思。语法如下:

GOTO label;

. . . . . .

<

一般不用,容易打乱程序的结构。

简书责编内容来自:简书 (源链) | 更多关于

阅读提示:酷辣虫无法对本内容的真实性提供任何保证,请自行验证并承担相关的风险与后果!
本站遵循[CC BY-NC-SA 4.0]。如您有版权、意见投诉等问题,请通过eMail联系我们处理。
酷辣虫 » 后端存储 » PL/SQL基础语法

喜欢 (0)or分享给?

专业 x 专注 x 聚合 x 分享 CC BY-NC-SA 4.0

使用声明 | 英豪名录