oracle存储过程的创建及测试 博客分类: oracle数据库 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,属于输出参数。
存储过程的实现如下图:
游标在存储过程中的使用非常普遍,它操作灵活,使用方便,但是要注意字符串的拼接要非常认真,容易出错。
推荐阅读
-
oracle存储过程的创建及测试 博客分类: oracle数据库 oracle数据库存储过程
-
oracle存储过程的创建及测试 博客分类: oracle数据库 oracle数据库存储过程
-
几个常用的存储过程,适用于ORACLE 博客分类: 数据库
-
几个常用的存储过程,适用于ORACLE 博客分类: 数据库
-
oracle存储过程编译卡死(资源dll锁) 博客分类: 数据库数据库 oracle 开发 数据库资源锁锁定死锁oracle卡死
-
oracle 函数中游标及递归的应用 博客分类: 编程相关SQL数据库 oracle函数递归游标
-
使用oracle function和存储过程返回单个值 博客分类: oracle oraclefunctionpackage
-
存储过程(sp)的应用 博客分类: 数据库 Oracle
-
存储过程(sp)的应用 博客分类: 数据库 Oracle
-
ORACLE存储过程,循环语法和游标(转) 博客分类: Oracle