百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 数据库教程 > 正文

如何使用 PL/SQL 块 ?(pl/sql 使用教程)

oygpt 2024-09-23 12:17 129 浏览 0 评论

2.PL/SQL 块

PL/SQL是一种块结构的诺言,一个PL/SQL程序包含了一个或者多个逻辑块,逻辑块中可以声明变量,变量在使用之前必须先声明。除了正常的执行程序外,PL/SQL 还提供了专门的异常处理部分进行异常处理。每个逻辑块分为三个部分,语法是:

PL/SQL 块的语法

[DECLARE

--declaration statements] ①

BEGIN

--executable statements ②

[EXCEPTION

--exception Statements] ③

END;

解析:

① 声明部分:声明部分包含了变量和常量的定义。这个部分由关键字DECLARE 开始,如果不声明变量或者常量,可以省略这部分。

② 执行部分;执行部分是叫PL/SQL块的指令部分,由关键字BEGIN 开始,关键字END 结尾。所有的可执行PL/SQL语句都放在这一部分,该部分执行命令并操作变量。其他的叫PL/SQL块可以作为子块嵌套在该部分。PL/SQL 块的执行部分是必选的。注意END 关键字后面用分号结尾。

③ 异常处理部分:该部分是可选的,该部分用 EXCEPTION 关键字把可执行部分分成两个小部分,之前的程序是正常运行的程序,一旦出现异常就跳转到异常部分执行。

PL/SQL 是一种编程语言,与Java 和C#一样,除了有自身独有的数据类型、变量声明和赋值以及流程控制语句外,PL/SQL 还有自身的语言特性:

PL/SQL对大小写不敏感,为了良好的程序风格。开发团队都会选择一个合适的编码标准。比如有的团队规定: 关键字全部大写,其余的部分小写。

PL/SQL块中的每一条语句都必须以分号结束,SQL 语句可以是多行的,但分号表示该语句结束。一行中可以有多条SQL 语句,他们之间以分号分隔,但是不推荐一行中写多条语句PL/SQL中的特殊符号说明:


零元入学,上门招聘,真实案例,拼技术,比实力,就业全靠真本领!兆隆IT云学院等你来!

> 变量声明

PL/SQL支持SQL 中的数据类型,PL/SQL 中正常支持NUMBER,VARCHAR2,DATE 等Oracle SQL 数据类型。声明变量必须指明变量的数据类型,也可以声明变量时对变量初始化,变量声明必须在声明部分。声明变量的语法是:

变量名 数据类型[ :=初始值]

说明:数据类型如果需要长度,可以用括号指明长度,比如:varchar2(20)。

代码演示:声明变量

SQL> DECLARE

2 sname VARCHAR2(20) :='jerry'; ①

3 BEGIN

4 sname:= sname 丨丨' and tom'; ②

5 dbms_output.Put_line(sname); ③

6 END:

7 /Jerry

PL/SQL procedure successfully completed

代码解析:

① 声明一个变量sname,初始化值是‘’Jerry”。宇符串用单引号,如果字符串中出现单引号可以使用两个单引号(”) 代替。

② 对变量 sname 重新赋值,赋值运算符是“:=” 。

③ dbms_output.put_line 是输出语句。可以把一个变量的值输出,在SQL*Plus 中输出数据时,可能没有结果显示,可以使用命令:set serveroutput on 设置输出到SQL*Plus 控台上。

对变量赋值还可以使用SELECT…INTO 语句从数据库中查询数据对变量进行赋位。但是查询的结果只能是一行记录,不能是零行或者多行记录。

代码演示:变量赋值

SQL> DECLREE

2 sname VARCHAR2(20) DEFAULT'jerry'; ①

3 BEGIN

4 SELECT ename INTO sname FROM emp WHERE empno=7934; ②

5 dbms_output.put_line(sname);

6 END:

7 /

MILLER

PL/SQL procedure successfully completed

代码解析:

① 变量初始化时,可以使用DEFAULT关键字对变量进行初始化。

② 使用select…into 语句对变量sname 赋值,要求查询的结果必须是一行,不能是多行或者没有记录。

> 声明常量

常重在声明时赋予初值,并且在运行时不允许重新赋值。使用CONSTANT 关键字声明常量。

代码演示:声明常量

SQL> DECLARE

2 pi coNSTANT number :=3.14;--圆周串长值 ①

3 r number DEFAULT 3;--圆的半径默认值3

4 area number:--面积。

5 BEGIN6

6 area =pi*r*r;--计算面积

7 dbms_output put_line(area) ;--输出圆的面积

8 END ;

9 /

28.26

PL/SQL procedure successfully completed

代码解析:

① 声明常量时使用关键字CONSTANT,常量初值可以使用赋值运算符(:=) 赋值 也可以使用DEFAULT 关键字赋值。

在 SQL* PIUS中还可以声明session (会话,也就是一个客户端从连接到退出的过程称为当前用户的会话。)全局级变量. 该变重在整个会话过程中均起作用,类似的这种变量称为宿主变量。宿主变量在PL/SQL 引用时要用 “:变量名” 引用。

代码演示:宿主变量

SQL> var emp_name varchar2(30)′ ①

SQL> BEGIN

2 SELECT ename INTO :emp_name FROM emp WHERE empno=7499;②

3 END;

4 /

PL/SQL procedure successfully completed

emp_name

ALLEN

SQL> print emp_name, ③

emp_name

ALLEN

代码解析:

① 可以使用var 声明宿主变量。

② PL/SQL中访问宿主变量时要在变重前加“:”。

③ 在SQL*Plus 中,使用print可以输出变量中的结果。

释放能量与活力,迎接挑战与机遇!分享来自兆隆IT云学院,QQ:598756835

相关推荐

PLSQL 命令行模式常见错误(plsql执行命令行)

日常运维过程中,经常使用PLSQL的command模式运行SQL脚本,对于一些常见的错误,你知道原因在哪里吗?1.SQL脚本执行后弹出输入框原因:SQL*PLUS默认环境里会把'&字符'...

了解 PL/SQL 的异常处理(sql数据库异常处理)

6.PL/SQL的异常处理在程序运行时出现的镇误,称为异常。发生异常后语句将停止执行,PL/SQL引擎立即将控制权转到PL/SQL块的异常处理部分。异常处理机制简化了代码中的错误检测。PL/SQ...

PL/SQL 泛型编程详解(泛型调用)

PL/SQL中的通用函数,也称为泛型函数,是一种可以接受任意数据类型参数的函数。这使得开发者能够编写可重用的代码,以处理不同的数据类型,而无需为每种数据类型编写专门的函数。PL/SQL的泛型函数通过使...

PL/pgSQL编写postgresql函数之基本语句

目录基本语句1赋值赋值运算符:=或=2单一行结果返回SELECT...INTO语法赋值更新操作结果返回3多行结果返回方式一:使用表充当容器方式二:使用自定义TYPE充当容器方式三:ret...

PLSQL安装教程(plsql安装教程及配置)

2.安装,双击上图Plsqldev.exe文件;3.单击确定,进行下一步安装;4.软件询问是否遵守协议,单击“IAgree”,进行下一步安装;5.选择软件安装在计算机中的路径,(客户端的安装...

PL/SQL字符函数概览(sqlplus 字符集)

PL/SQL提供了一系列内置的字符函数,这些函数可以对字符串进行各种操作,如转换、比较、搜索和替换等。以下是一些常用的PL/SQL字符函数及其用法示例:CONCAT:连接两个或多个字符串。示例:DEC...

instantclient + PLSQL安装与配置小结

一、软件1、instantclient-basic-windows.x64-11.2.0.4.0.zip到官网下载。2、PLSQLDeveloper13.rar到网上下载,找破解版的,网上有V...

如何使用 PL/SQL 块 ?(pl/sql 使用教程)

2.PL/SQL块PL/SQL是一种块结构的诺言,一个PL/SQL程序包含了一个或者多个逻辑块,逻辑块中可以声明变量,变量在使用之前必须先声明。除了正常的执行程序外,PL/SQL还提供了专门的异...

PL/SQL(Procedural Language(procedural objects)

PL/SQL(ProceduralLanguage/StructuredQueryLanguage)是由OracleCorporation开发的一种用于与Oracle数据库配合使用的编...

Oracle数据库扩展语言PL/SQL之块结构

【本文详细介绍了Oracle数据库扩展语言PL/SQL的块结构,欢迎读者朋友们阅读、转发和收藏!】1基本概念1.1PL/SQL块结构块(block)是PL/SQL的基本程序单元,编写P...

记一次生产数据库sql优化案例--with用法改写(11分钟优化到7秒)

概述前段时间开发丢了一个超长的sql给我,说需要优化,因为太长,连PL/SQL的美化工具都美化不了...下面简单记录一下优化的过程。with改写WITHAS短语,也叫做子查询部分(subquery...

如何在生产库与测试库做数据结构对比--PL/SQL工具

概述领导要求做个数据库之间的数据结构对比,这里我简单用PL/SQL工具来实现,下面介绍下使用过程。功能PLSQLDeveloperTools菜单下有CompareUserObjects和Com...

PLSQL使用教程——(1)基本使用教程

一、登录1、在这里配置好数据库服务,之后就可以登录了2、输入用户名和密码,并选择之前配置好的数据库服务。我这服务名取为localhost。(这个名字随意起。)二、创建表空间1、在SQL窗口中执行以下S...

PL/SQL调试存储过程?看这篇就够了

概述虽然现在存储过程相对比较少用了,但是平时接触不可避免的要跟存储过程打交道,当需要自己写的时候总会碰到这或那的错误,这个时候一般要怎么调试呢?PL/SQL调试PL/SQL中提供了【调试存储过程】的功...

IT运维基础篇之oracle sqlldr数据批量导入,比plsqldev还简单

在oralce中导入数据的方式有很多,比如:PL/SQL文本导入器、对表forupdate之后直接复制粘贴等等,导入方式有很多,今天我们介绍另一种大批量数据导入方式:sqlldr,具体其用法可以上网查...

取消回复欢迎 发表评论: