`

oracle存储过程的创建及测试

阅读更多

存储过程的创建及测试

   注意:本文档的代码与介绍的操作均是在PLSQL Developer 上完成的。

首先,在packages里边创建一个自己的存储过程包,在里边声明要写的存储过程;然后在package bodies 目录下将存储过程实现。需要注意的是,存储过程的名称,参数类型和参数名(这里特别强调参数名称,作为初学者,我在这上边吃过亏,所以印象深刻)要完全一致。

a.下边我们来一起写一个不需要参数的存储过程

声明存储过程截图如下:



  

编写完成点击按钮进行编译。

实现存储过程截图如下:



  

编写完成同样要点击进行编译。

最后我们来测试一下存储过程编写的是否正确。新建一个 Test  Window ,调用存储过程采用“包名.存储过程名”的方式,如下图:



  

注意,虽然该存储过程没有参数,但是调用的时候要写一个小括号在存储过程名后边。查询数据库表LJJ_INCOMESSAGE 中的数据变化。打开DBMS输出窗口查看存储过程的输出结果。

b.序列的创建

 Oracle序列(sequence)是一种数据库项,能够生成一个整数序列。通常用于填充数字类型的主键列。

sequences包下新建一个序列,各数据设置如下图:



  

点击界面下方的“应用”按钮,一个序列就创建成功了。

c.有参数的存储过程的创建及序列的使用

与创建无参数的存储过程类似,首先在packages LJJ_STUDY中声明存储过程,并进行编译,如下图:



  

然后在package body 中进行存储过程的具体实现,并进行编译,如下图:



  

注意:倒数第二行的commit很重要,在数据库中进行的增删改操作之后都要执行commit,否则通过oracleclient连接数据库时获取不到最新数据。

d.抛出异常的存储过程的创建及测试

有异常抛出的存储过程创建时多两个输出参数,存储过程声明截图如下:



  

存储过程的实现如下图:



  

e.游标的使用

前面介绍的存储过程都是对数据的增加,修改或者删除,那么又返回值的查询操作要怎么完成呢?

首先,介绍一下游标的概念。游标(cursor)是系统为用户开设的一个数据缓冲区,存放SQL语句的执行结果。每个游标区都有一个名字,用户可以用SQL语句逐一从游标中获取记录。

接下来我们一起看看游标是如何定义,如何使用的吧。

先声明对游标的引用,如下图:



  

带有游标参数的存储过程的声明如下图:



  

游标名称为C_group_no,属于输出参数。

存储过程的实现如下图:



  

游标在存储过程中的使用非常普遍,它操作灵活,使用方便,但是要注意字符串的拼接要非常认真,容易出错。

 

分享到:
评论

相关推荐

    Python使用cx_Oracle调用Oracle存储过程的方法示例

    本文实例讲述了Python使用cx_Oracle调用Oracle存储过程的方法。分享给大家供大家参考,具体如下: 这里主要测试在Python中通过cx_Oracle调用PL/SQL。 首先,在数据库端创建简单的存储过程。 create or replace ...

    oracle存储过程-帮助文档

    这篇博客“oracle存储过程-帮助文档”可能提供了关于如何创建、调用和管理Oracle存储过程的详细指导。下面我们将深入探讨存储过程的核心概念、用途、优势以及常见操作。 1. **什么是存储过程?** 存储过程是预...

    Oracle存储过程开发的要点

    总之,Oracle存储过程的开发涉及到编写PL/SQL代码,创建、运行、调试和维护这些代码。理解这些基本概念和步骤对于开发高效、可靠的Oracle数据库应用程序至关重要。在实际工作中,开发者还需要考虑诸如安全性、性能...

    ORACLE的存储过程的异步调用

    ORACLE 存储过程的异步调用 本文讨论了 ORACLE 存储过程的异步调用方法,旨在解决...为了测试异步调用存储过程的方法,需要建立测试环境,包括创建模拟大业务处理存储过程、读取管道动态了解处理状态的存储过程等。

    Oracle存储过程调用bat批处理脚本程序

    本话题将详细探讨如何在Oracle存储过程中调用外部的批处理脚本,如Windows系统的BAT文件,以实现数据库操作与系统命令的集成。 首先,`Oracle存储过程`是一种预编译的SQL和PL/SQL代码集合,可以被多次调用以执行...

    VC做的小东西,测试oracle存储过程

    在这个“VC做的小东西,测试oracle存储过程”项目中,我们可以看到这两个技术的结合,以实现对Oracle数据库存储过程的测试。 首先,让我们深入理解一下Oracle存储过程。存储过程是预编译的SQL语句集合,存储在...

    oracle存储过程学习资料

    在本学习资料中,你将深入理解Oracle存储过程的创建、调用、调试以及优化等多个方面。 1. **存储过程的创建**: Oracle存储过程通过`CREATE PROCEDURE`语句来定义。你可以指定输入参数、输出参数、输入输出参数,...

    oracle存储过程函数生成DEMO

    在这个"Oracle存储过程函数生成DEMO"中,我们主要关注如何在Oracle数据库环境中设计、编写、测试以及调用存储过程和函数。下面将详细阐述相关知识点。 1. **存储过程**: - 存储过程是一组预先编译的SQL语句,存储...

    Oracle存储过程编写与调试

    Oracle存储过程是数据库管理系统Oracle中的一种重要特性,它允许开发者编写一组SQL语句和PL/SQL块,并将它们作为一个单元来执行。这极大地提高了代码的重用性和数据库操作的效率。下面我们将深入探讨Oracle存储过程...

    oracle 存储过程的基本语法

    ### Oracle存储过程的基本语法知识点详解 #### 一、Oracle存储过程概述 Oracle存储过程是一种预编译的SQL脚本集合,它可以包含复杂的控制流逻辑、数据处理操作等,并且能够被其他应用程序或用户通过简单的调用来...

    Oracle数据库存储过程技术文档.doc

    第一章 oracle存储过程概述 2 1.1 存储过程基本结构(PROCEDURE) 3 1.1.1创建存储过程 3 1.1.2 存储过程删除 5 1.1.3 调用存储过程 5 1.2存储函数(FUNCTIONE) 6 1.2.1 创建存储函数 6 1.2.2 删除存储函数 7 1.3 包...

    oracle 存储过程学习

    3. **测试**: 测试存储过程的功能。 4. **优化**: 优化性能问题。 5. **部署**: 部署到生产环境。 ##### 6.3.6 删除过程和函数 使用`DROP`语句来删除存储过程或函数。 ```sql DROP FUNCTION function_name; DROP ...

    oracle10g分区表自动按时间创建删除分区存储过程

    文件是本人oracle10g分区表自动按时间创建、删除分区的存储过程,测试代码,通过job调用存储过程,每天午夜12点运行一次。妥妥!跟大家分享下!

    调用Oracle的存储过程

    调用Oracle存储过程主要有两种方法:通过JDBC(Java Database Connectivity)API和使用Oracle的特定库如ojdbc.jar。首先,确保你已经添加了Oracle JDBC驱动到项目的类路径中,例如ojdbc.jar或ojdbc7.jar,这是连接...

    oracle 存储过程,批量产生用

    根据给定的文件信息,本文将深入探讨Oracle存储过程如何用于批量创建用户,以及如何读取TXT文件来辅助这一过程。 ### Oracle存储过程概述 Oracle存储过程是预编译并存储在Oracle数据库中的SQL和PL/SQL代码块。它们...

    plsql创建存储过程并创建job定时任务执行-详细笔记文档总结

    在 Oracle 中,plsql 是一种强大的编程语言,可以用来创建存储过程和定时任务执行。在本文中,我们将详细介绍如何使用 plsql 创建存储过程并创建 job 定时任务执行。 一、创建存储过程 在 Oracle 中,存储过程是指...

    批量修改Oracle序列值的存储过程

    这篇博客分享的是一个自定义的存储过程,用于批量修改Oracle序列的当前值(CURRENT VALUE)。 首先,我们需要理解Oracle序列的基本结构和操作。序列由CREATE SEQUENCE语句创建,如: ```sql CREATE SEQUENCE seq_...

Global site tag (gtag.js) - Google Analytics