当前位置:七道奇文章资讯数据防范Oracle防范
日期:2011-01-25 22:55:00  来源:本站整理

若何开辟ORACLE存储历程-开辟技术[Oracle防范]

赞助商链接



  本文“若何开辟ORACLE存储历程-开辟技术[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

    在我的上一个银行项目中,我接到编写ORACLE存储历程的任务,我是程序员,脑袋里只有一些若何利用CALLABLE接口调用存储历程的经验,一时不知若何下手,我查阅了一些资料,通过实践发现编写ORACLE存储历程是非常不简单的工作,即便上路今后,调试和考证非常麻烦.简单地讲,Oracle存储历程就是存储在Oracle数据库中的一个程序.

  一. 概述

  Oracle存储历程开辟的要点是:

  ? 利用Notepad文本编辑器,用Oracle PL/SQL编程语言写一个存储历程;

  ? 在Oracle数据库中成立一个存储历程;

  ? 在Oracle数据库中利用SQL*Plus工具运行存储历程;

  ? 在Oracle数据库中改正存储历程;

  ? 通过编译错误调试存储历程;

  ? 删除存储历程;

  二.环境配置

  包含以下内容:

  ? 一个文本编辑器Notepad;

  ? Oracle SQL*Plus工具,提交Oracle SQL和PL/SQL 语句到Oracle database.

  ? Oracle 10g express数据库,它是免费利用的版本;

  需求的本领:

  ? SQL底子知识,包含插入、改正、删除等

  ? 利用Oracle's SQL*Plus工具的基本本领;

  ? 利用Oracle's PL/SQL 编程语言的基本本领;

  三.写一个存储历程

  存储历程利用Oracle's PL/SQL 程序语言编写,让我们写一个什么工作都不做的存储历程,我们可以编译和运行它而不用耽忧会对数据库产生任何侵害.

  在Notepad, 写下:

  CREATE OR REPLACE PROCEDURE skeleton

  IS

  BEGIN

  NULL;

  END;

  把文件存为skeleton.sql.

  让我们一行行遍历这个存储历程:

  1 CREATE OR REPLACE PROCEDURE skeleton

  2 IS

  3 BEGIN

  4 NULL;

  5 END;

  行1:

  CREATE OR REPLACE PROCEDURE 是一个SQL语句告诉Oracle数据库去成立一个叫做skeleton存储历程, 假如存在就覆盖它;

  行2:

  IS关键词表明背面将跟随一个PL/SQL体.

  行3:

  BEGIN关键词表明PL/SQL体的开始.

  行4:

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

  行5:

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

  四.成立一个存储历程

  SQL语句CREATE OR REPLACE PROCEDURE在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> EXECUTE skeleton;

  SQL*Plus 输出一下信息确信存储历程成功履行: PL/SQL procedure successfully completed.

  你也可以在一个无名PL/SQL块内运行你的存储历程,在SQL*Plus号令提醒符下,它看起来像:

  SQL> BEGIN

  2 SKELETON;

  3 END;

  4 /

  目前我们已经运行了我们的存储历程,我们若何改正它呢?

  六.改正一个存储历程

  让我们写一个输出字符串"Hello World!"的存储历程,用Notepad翻开你的skeleton.sql 文件,. 用DBMS_OUTPUT.PUT_LINE 历程调用去替换NULL语句,以下所示:

  CREATE OR REPLACE PROCEDURE skeleton

  IS

  BEGIN

  DBMS_OUTPUT.PUT_LINE('Hello World!');

  END;

  保存到文件skeleton.sql.

  从SQL*Plus号令行, 翻开文件skeleton.sql .

  SQL> @skeleton

  SQL>

  1 CREATE OR REPLACE PROCEDURE skeleton

  2 IS

  3 BEGIN

  4 DBMS_OUTPUT.PUT_LINE('Hello World!');

  5* END;

  SQL> /

  SQL*Plus 告诉你存储历程成功成立并输出提醒信息:Procedure created.

  SQL>

  用EXECUTE 号令运行你的存储历程:

  SQL> EXECUTE skeleton;

  SQL*Plus显示存储历程运行成功:PL/SQL procedure successfully completed.

  我们想要的输出字符串 "Hello World!"没有出来,在显示一个DBMS_OUTPUT.PUT_LINE 后果前需求运行一个SET号令,在SQL*Plus 号令行提醒符,键入:

  SQL> SET SERVEROUTPUT ON

  再次履行你的存储历程:

  SQL> EXECUTE skeleton;

  目前后果输出了:Hello World!

  PL/SQL procedure successfully completed.

  七.调试一个存储历程

  当调试一个存储历程时,遵守一样的步骤,改正SQL文件,成立存储历程,履行存储历程,按照编译器反馈的出错信息举行改正,这一步是非常烦琐的,需求依靠经验.

  在实际的商用存储历程的开辟调试历程中,由于触及很多表、范例、光标、循环、条件等复杂的逻辑,和PL/SQL语句的机动应用,编译时会产生很多错误提醒信息,程序员在按照这些错误信息定位,举行改正,再编译最后得到精确的构造;

  八.放弃一个存储历程

  假如在数据库中你不在需求一个存储历程你可以删除它,SQL语句 DROP PROCEDURE 完成从数据库中删除一个存储历程,DROP PROCEDURE 在SQL中被归类为数据定义语言(DDL) 类操作,其他的例子有CREATE, ALTER, RENAME 和TRUNCATE..

  在SQL*Plus 号令提醒符下,利用DROP PROCEDURE SQL 语句删除你的叫做skeleton的存储历程:

  SQL> DROP PROCEDURE skeleton;

  SQL*Plus assures us the procedure has been removed:

  Procedure dropped.

  总结

  本文具体谈论了若何利用Oracle工具开辟Oracle商用存储历程的步骤.最后在存储历程的利用中大概是程序直接调用,也大概被触发器调用.
  以上是“若何开辟ORACLE存储历程-开辟技术[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • 若何开辟出高质量J2EE系统
  • <b>若何开辟、保护和支持质量管理和开辟流程-开辟技术</b>
  • 若何开辟ORACLE存储历程-开辟技术
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .