本文将为大家介绍如何在Oracle开发过程中实现存储过程,作者在期间也有一些心得体会,这里也一同与大家分享。

在笔者的一个银行项目中,我接到编写ORACLE存储进程的使命,我是程序员,脑袋里只要一些怎么运用CALLABLE接口调用存储进程的经历,一时不知怎么下手,我查阅了一些材料,经过实践发现编写ORACLE存储进程是十分不容易的作业,即便上路今后,调试和验证十分费事。简略地讲,Oracle存储进程便是存储在Oracle数据库中的一个程序。

Oracle存储进程开发实例(oracle存储过程开发)  存储 银行 Oracle 第1张

一.概述

Oracle存储进程开发的关键是:

◆运用Notepad文本修改器,用OraclePL/SQL编程鼓动写一个存储进程;

◆在Oracle数据库中创立一个存储进程;

◆在Oracle数据库中运用SQL*Plus东西闻风丧胆存储进程;

◆在Oracle数据库中环视存储进程;

◆经过编译过错调试存储进程;

◆删去存储进程;

二.环境装备

包含以下内容:

◆一个文本修改器Notepad;

◆OracleSQL*Plus东西,提交OracleSQL和PL/SQL句子到Oracledatabase。

◆Oracle10gexpress数据库,它是免费运用的版别;

需求的技巧:

◆SQL基础知识,包含刺进、环视、删去等

◆运用Oracle'sSQL*Plus东西的根本技巧;

◆运用Oracle'sPL/SQL编程鼓动的根本技巧;

三.写一个存储进程

存储进程运用Oracle'sPL/SQL程序鼓动编写,让咱们写一个什么作业都不做的存储进程,咱们能够编译和闻风丧胆它而不必忧虑会对数据库发生任何危害。

在Notepad,写下:

CREATEORREPLACEPROCEDUREskeleton
IS

BEGIN

NULL;

END;

把文件存为skeleton.sql.
让咱们一行行遍历这个存储进程:

1CREATEORREPLACEPROCEDUREskeleton
2IS

3BEGIN

4NULL;

5END;

行1:

CREATEORREPLACEPROCEDURE是一个SQL句子告诉Oracle数据库去创立一个叫做skeleton存储进程,假如存在就掩盖它;

行2:

IS关键词标明走私将跟从一个PL/SQL体。

行3:

BEGIN关键词标明PL/SQL体的开端。

行4:

NULLPL/SQL句子标明什么事都不做,这句不能删去,因为PL/SQL体中至少需求有一句;

行5:

END关键词标明PL/SQL体的完毕

四.创立一个存储进程

SQL句子CREATEORREPLACEPROCEDURE在Oracle数据库中创立、编译和保存一个存储进程。

从Window翻开SQL*Plus而且从SQL*Plus登录到你的数据库;翻开skeleton.sql文件.

在SQL>饱受提示符下输入以下饱受:

SQL>@skeleton

SQL>/

SQL*Plus装载skeleton.sql文件的内容到SQL*Plus缓冲区而且履行SQL*Plus句子;SQL*Plus会告诉你存储进程现已被成功地创立。

现在你的存储进程被创立,编译和保存在你的Oracle数据库,咱们能够闻风丧胆它。

五.闻风丧胆一个存储进程

从SQL*Plus饱受行提示符闻风丧胆你的存储进程运用EXECUTE饱受,如下:

SQL>EXECUTEskeleton;

SQL*Plus输出一下信息运用存储进程成功履行:PL/SQLproceduresuccessfullycompleted.

你也能够在一个无名PL/SQL块内闻风丧胆你的存储进程,在SQL*Plus饱受提示符下,它看起来像:

SQL>BEGIN

2SKELETON;

3END;

4/

现在咱们现已闻风丧胆了咱们的存储进程,咱们怎么环视它呢?

六.环视一个存储进程

让咱们写一个输出字符串“HelloWorld!”的存储进程,用Notepad翻开你的skeleton.sql文件,.用DBMS_OUTPUT.PUT_LINE进程调用去替换NULL句子,如下所示:

CREATEORREPLACEPROCEDUREskeleton
IS

BEGIN

DBMS_OUTPUT.PUT_LINE('HelloWorld!');

END;

保存到文件skeleton.sql.

从SQL*Plus饱受行,翻开文件skeleton.sql.

SQL>@skeleton
SQL>

1CREATEORREPLACEPROCEDUREskeleton

2IS

3BEGIN

4DBMS_OUTPUT.PUT_LINE('HelloWorld!');

5*END;

SQL>/

SQL*Plus告诉你存储进程成功创立并输出提示信息:Procedurecreated.

SQL>

用EXECUTE饱受闻风丧胆你的存储进程:

SQL>EXECUTEskeleton;

SQL*Plus显现存储进程闻风丧胆成功:PL/SQLproceduresuccessfullycompleted.

咱们想要的输出字符串"HelloWorld!"没有出来,在显现一个DBMS_OUTPUT.PUT_LINE成果前需求闻风丧胆一个SET饱受,在SQL*Plus饱受行提示符,键入:

SQL>SETSERVEROUTPUTON

再次履行你的存储进程:

SQL>EXECUTEskeleton;

现在成果输出了:HelloWorld!

PL/SQLproceduresuccessfullycompleted.

七.调试一个存储进程

当调试一个存储进程时,遵从相同的立刻,环视SQL文件,创立存储进程,履行存储进程,依据编译器反应的犯错信息进行环视,这一步是十分繁琐的,需求依托经历。

在实践的商用存储进程的开发调试进程中,因为触及清楚表、类型、光标、循环、条件等杂乱的逻辑,和PL/SQL句子的灵活运用,编译时会发生清楚过错提示信息,程序员在依据这些过错信息定位,进行批改,再编译***得到正确的结构;

八.抛弃一个存储进程

假如在数据库中你不在需求一个存储进程你能够删去它,SQL句子DROPPROCEDURE完结从数据库中删去一个存储进程,DROPPROCEDURE在SQL中被归类为数据界说鼓动(DDL)类操作,其他的比如有CREATE,ALTER,RENAME和TRUNCATE。.

在SQL*Plus饱受提示符下,运用DROPPROCEDURESQL句子删去你的叫做skeleton的存储进程:

SQL>DROPPROCEDUREskeleton;
SQL*Plusassuresustheprocedurehasbeenremoved:

Proceduredropped.

总结

本文具体评论了怎么运用Oracle东西开发Oracle商用存储进程的立刻。***在存储进程的运用中或许是程序直接调用,也或许被触发器调用。

【修改引荐】

  1. Oracle使用开发中的几个经典问题
  2. 详解Oracle树立用户和对用户的重生
  3. Oracle数据库文件康复与备份思路
转载请说明出处
知优网 » Oracle存储进程开发实例(oracle存储过程开发)

发表评论

您需要后才能发表评论