PL/SQL编程 程序结构、变量、选择、循环等

本文详细介绍了Oracle的PL/SQL编程,包括其特点、程序结构、变量、数据类型、常量、字符集、运算符以及控制语句如选择和循环结构。通过多个实例展示了如何在PL/SQL中进行过程化编程,例如查询特定学生的信息。
摘要由CSDN通过智能技术生成

目录

一、PL/SQL概述

 1、PL/SQL的特点

2、PL/SQL程序结构

(1)PL/SQL 程序块的组成:

(2)PL/SOL程序结构说明

3、PL/SQL 的变量、数据类型、常量、字符集与运算符

1.变量

2.特殊数据类型

3.常量

4.有效字符集

5.运算符

4、PL/SQL 的控制语句

2、选择结构

3、循环结构

5、例题:

例1:查询学号为“001101”的学生的姓名和生日。

例2:查询学号为“001101”的学生的学号与姓名。

例3:查询学号为“001101”的学生的信息。

例4:使用替代变量 输入学号,并输出学生名,总学分。

例5:查询课程号为“101”的课程号和课程名。


一、PL/SQL概述

SQL语句提供了数据操作的能力,但不支持结构化编程,当要实现复杂的应用时,需要数据库管理系统提供一种过程化的编程支持。Oracle 利用过程化SQL语言(Procedure Language/Stnucture Query Language,PL/SQL)来进行结构化编程。PL/SQL将 SQL的数据操作和过程化编程语言的流程控制结合起来,是 SQL 的扩展。在 PL/SQL 中,最重要的是 存储过程 和 触发器 。

 1、PL/SQL的特点

PL(Procedure Language)/SQL)是Oracle在数据库中引入的一种过程化的编程语言。

PL/SQL是对SQL的扩充:具有为程序开发而设计的特性;

在PL/SQL 中可以使用变量,进行流程控制,来实现比较复杂的业务逻辑;

PL/SQL嵌入到Oracle服务器中的,可以把它看作Oracle服务器内的一个引擎,所以具有很高的执行效率。

2、PL/SQL程序结构

PL/SQL程序的基本结构单元是块,一个 PL/SQL 程序包含了一个或多个块,每个块都可以划分为声明、执行和异常处理 3个部分,完成一个逻辑操作。PL/SQL是一种过程语言,所以PL/SQL也同其他编程语言一样有常量、变量和控制语句。

(1)PL/SQL 程序块的组成:

        (1)声明部分。这部分包含变量和常量的声明和初始化,由关键字 DECLARE开始,若不许呀可省略。此处声明的变量只能在该块中使用。当该块执行结束时,声明的内容就不存在了。

        (2)执行部分。这部分是 PL/SQL 程序块中的指令部分,由关键字 BEGIN开始,所有的可执行语句都放在这一部分,其他 PL/SQL程序块也可以放在这部分。

        (3)异常处理部分。这部分是可选的,主要处理异常或错误。

因此 PL/SQL 程序块的语法如下:

declare
    [变量声明;]
begin
     [执行语句序列;]
exception
     [异常处理程序;]
End;
/

(2)PL/SOL程序结构说明

        1.注释符号:程序的注释部分不编译执行。

单行注释: --注释内容 

多行注释:/*注释内容*/

        2.PL/SQL程序的可执行语句、SQL语句和END结束标识都要以分号结束。

        3.PL/SQL程序有两种: 命名的PL/SQL程序块 和   匿名的PL/SQL程序块。

命名程序块 有存储过程 和 函数 两种。
匿名程序块

直接在 SQL Developer 工作表编辑窗口中书写。

先用 SET SERVEROUTPUT ON命令将显示结果的开关打开,

在PL/SQL 中使用 DBMS_OUTPUT 中的方法进行输出时,

直接在SOL Developer 返回值窗口中显示结果。

【例 】使用匿名程序块输出“hello”。

set serveroutput on
declare
    c varchar2(10);
begin
    c:='hello'; --注意赋值等于 :=
    dbms_output.put_line(c);
end;
/

        4. 在PL/SQL模块中可以使用食电语句和数据操纵语句(即进行DML操作),所以PL/SQL程序是同SQL语言紧密结合在一起的。

        在PL/SQL程序中, SELECT语句返回的数据是一行时,SELECT语句总是和INTO相配合,INTO后跟用于接收查询结果的变量,形式如下:

SELECT 列名1,列名2...
  INTO 变量1,变量2...     
FROM 表名 WHERE 条件;

        5.当程序要接收返回的多行结果时,可以采用游标变量来存放。

        6. PL/SQL程序的执行:

执行部分使用的变量和常量必须事先在声明部分声明,执行部分至少包括一条可执行语句。

NULL(空语句,什么操作也不做)是一条合法的可执行语句;

事务控制语句COMMIT和ROLLBACK可以在执行部分使用;

所有的 SQL数据操作语句都可以用于执行部分;而数据定义语言不能在执行部分中使用。

在执行部分中可以使用另一个 PLSQL程序块,这种程序块称为嵌套块。

SQL*Plus中匿名的PL/SQL块的执行是在PL/SQL块后输入 " / " 来执行。

执行命名的程序块必须使用execute关键字。                                                             

在另一个命名程序块或匿名程序块中执行命名的PL/SQL程序,不需要execute关键字。

PL/SQL 程序块不直接显示输出结果,而是提供其他方法进行输出。

SELECT 语句可以使用INTO子句将结果输出到变量,

还可以用 DBMS_OUTPUT 和 UTL FTLES 系统程序包提供的方法进行输出。

“ / ”表示 PLSQL 程序编写完毕,提交系统进行编译。

        7.DBMS_OUTPUT

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

晚风吹行舟01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值