10.2 在SQL*Plus中创建存储过程

本节将介绍如何在SQL*Plus中创建存储过程,其中包括无参数存储过程的创建以及各类有参数存储过程的创建,同时讲述如何查看、执行存储过程等操作。

10.2.1 创建第一个存储过程

前面已经学习过创建存储过程的语法,下面就利用前面学习过的语法在SQL*Plus中创建第一个存储过程,如示例1所示。

【示例1】创建第一个存储过程

在SQL*Plus中执行如下脚本:


01 CREATE PROCEDURE TEST

02 AS

03 BEGIN

04 DBMS_OUTPUT.PUT_LINE('我的第一个过程!');

05 END;

06 /


【代码解析】

❑第1行表示创建过程,名为TEST。

❑第4行表示输出一行字符串“我的第一个过程!”。

示例1是最简单的一个示例,通过它可以直观地认识存储过程的创建过程。如果创建成功,会出现如下提示:


过程已创建


到目前为止,只是成功创建了过程,接下来执行该存储过程,查看输出结果。

【执行效果】

(1)SERVEROUTPUT设置

在SQL*Plus中如果想让DBMS_OUTPUT.PUT_LINE成功输出,需要把SERVEROUTPUT选项设置成ON状态。默认情况下,它是OFF状态的。如果不了解该属性的当前设置状态,可以执行如下语句进行查看:


SHOW SERVEROUTPUT


如果提示如下字样则表示该属性没有打开:


serveroutput OFF


接下来打开输出设置,运行下面的脚本:


SET SERVEROUTPUT ON


设置成功会出现下面的提示:


serveroutput ON SIZE UNLIMITED FORMAT WORD_WRAPPED


(2)执行存储过程

在SQL*Plus中输入如下语句,用于执行已经创建的存储过程:


BEGIN

TEST;

END;


执行成功后会输出该过程中的输出语句。整个流程如图10.1所示。

10.2 在SQL*Plus中创建存储过程 - 图1

图 10.1 存储过程的创建及执行

技巧 还可以通过在关键词EXEC后面加上存储过程名来执行已经存在的存储过程。