PLSQL入门与精通(第17章:存储过程的基本语法结构) 您所在的位置:网站首页 plsql基本语句块中的声明部分使用 PLSQL入门与精通(第17章:存储过程的基本语法结构)

PLSQL入门与精通(第17章:存储过程的基本语法结构)

2023-08-14 20:13| 来源: 网络整理| 查看: 265

上次解说了存储过程的基本概念: 在无名PL/SQL块上命名并存储在数据库中就是存储过程。

从这次开始,我将对存储过程的语法进行解说。

首先整体结构。

1 CERATE OR REPLACE PROCEDURE 过程名称(临时参数名称模式数据类型,…) 2 IS 3 宣言部 4 BEGIN 5 执行部 6 EXCEPTION 7 例外处理部 8 END;

解释: ●过程创建的关键字 第1行,要创建存储过程,请使用CREATE PROCEDURE语句。 此时,如果是已经存在的程序,不加OR REPLACE就出错。存在就更新,不存在就增加。不会出错。

●关于临时参数 同样是第1行,虽然是临时参数,但通常过程中会有参数。 参数是从调用方获取值,或者反过来将值返回调用方的值。 参数用于与此类调用方之间的值进行交换。 这里定义的参数称为临时参数(虚参),实际调用时使用的参数称为实际参数(实参)。

●临时参数的模式 同样是第1行的临时参数,临时参数需要指定模式和数据类型。 模式有“IN”、“OUT”、“IN OUT”三种。 从调用源获取值的临时参数模式是“IN”。 相反,将值返回到调用源时,模式为“OUT”。 两种参数的模式都可以是“IN OUT”。 模式可以省略,但省略后被视为“IN”。

●临时参数的数据类型【重要】 接下来是临时参数的数据类型,不能省略。必须指定。 临时参数的数据类型不能指定长度。 例如,将“NUMBER(5)”这样的数据类型指定为临时参数时会发生编译错误。 不指定长度,只指定“NUMBER”,这就OK。

同样,“VARCHAR2(10)”是错误的,“VARCHAR2”是OK的。 另外,在临时参数的数据类型中指定“%TYPE”或“%ROWTYPE”时,也可以指定原始数据类型的大小。 ※%TYPE主要以“表名.列名%TYPE”的形式使用,表示与该表中该列的数据类型相同的意思。 %ROWTYPE是指以“表格名%ROWTYPE”、“游标名%ROWTYPE”的形式使用,与表格和游标的一行构造相同的记录类型。

●宣言(或者叫定义)部【IS与BEGIN之间】 程序也是PL/SQL块,所以有宣言部分。 从AS或IS(第2行)开始,BEGIN(第4行)之间是宣言部,在此过程中可以声明要使用的变量等。 这里声明的变量的数据类型与临时参数不同,可以指定大小。 即使什么都不宣言,关键字IS(或AS)也是必要的。

●执行部【BEGIN与EXCEPITON之间】 和无名块一样,BEGIN以下是执行部。

●例外处理部 和无名块一样,EXCEPTION以下是例外处理部。例外处理部可以省略。

●方块结束 块结束处的END;(第8行)也可以是“END过程名称;”。 像这样写明过程名的话,就容易明白那个过程的结束了。

这就是存储过程基本语法结构。



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有