没有合适的资源?快使用搜索试试~ 我知道了~
Oracle8i9i数据库基础Oracle8i9i数据库基础Oracle8i9i数据库基础
资源详情
资源评论
资源推荐
一、 第十六章 存储过程和函数
ORACLE 编写的程序一般分为两类,一种是可以完成一定功能的程序叫存储过程;另一种
就是在使用时给出一个或多个值,处理完后返回一个或多个结果的程序叫函数。这两种程
序都存放在 Oracle 数据库字典中。下面分别介绍这两种程序的编写方法。
一 引言
ORACLE 提供可以把 PL/SQL 程序存储在数据库中,并可以在任何地方来运行它。这
样就叫存储过程或函数。在本节中,主要介绍:
1. 创建存储过程和函数
2. 正确使用系统级的异常处理和用户定义的异常处理
3. 建立和管理存储过程和函数
二 存储过程
与其它的数据库系统一样,Oracle 的存储过程是用 PL/SQL 语言编写的能完成一定处
理功能的存储在数据库字典中的程序。
创建过程
建立内嵌过程
在 oracle server 上建立内嵌过程,可以被多个应用程序调用,可以向内嵌过程
传递参数,也可以向内嵌过程传回参数.
创建过程语法:
create [or replace] procedure procedure_name
[ (argment [ { in| in out }] type,
argment [ { in | out | in out } ] type
{ is | as }
<类型.变量的说明>
(
注
:
不用
declare
语句
)
Begin
<执行部分>
exception
<可选的异常处理说明>
end;
这里的 IN 表示向存储过程传递参数,OUT 表示从存储过程返回参数。而 IN OUT
表示传递参数和返回参数;
在存储过程内的变量类型只能指定变量类型;不能指定长度;
在 AS 或 IS 后声明要用到的变量名称和变量类型及长度;
在 AS 或 IS 后声明变量不要加 declare 语句。
例 1.
--节选自在线代码 modetest.sql
作者:
中文注释赵元杰
!""##$%
!&#$%
!"&"##$"
'!()*+(#$,
$-"#
./分配 !"给 '!()*+(/.
'!()*+(0 !",112(
./分配 3给 !"这是非法的%因为声明是 "#/.
!"03,11"((2(
./分配 3给 !"这是合法的%因为声明是 /.
!&03,112(
./分配 !&给 '!()*+(这是非法的%因为声明是 "#/.
'!()*+(0 !&,11"((2(
./分配 !"&给 '!()*+(这是合法的%因为声明是 "#/.
'!()*+(0 !"&,112(
./分配 3给 !"&这是合法的%因为声明是 "#/.
!"&03,112(
#,
.
使用过程
存储过程建立完成后,只要通过授权,用户就可以在 SQLPLUS 、Oracle 开发工具或第
三方开发工具来调用运行。Oracle 使用 EXECUTE 语句来实现对存储过程的调用。
456 procedure_name( parameter1, parameter2…);
例:
7- !
8 9 "
!*#$:%
!);<%
=+!*();>%
!);:%
!();?,
8 &9 "@# 9 ,
2!A
!"##$%
!'"# &9 ,
#,
.
7-$8 !
2!A
!"##$%
!'"# &9 "
$-"#
# !'@
%%=+%%(@ %
B; 0 !# 0
$8 ,
#,
#,
.
##;"#-#&+
##;"#-#
#C$;"#-C+*(
##;"#-
#;"#-*
"##
)"$'@
EXECUTE emp_data.get_sta(20, :cv)
? ?开发存储过程步骤
目前的几大数据库厂商提供的编写存储过程的工具都没有统一,虽然它们的编写风格有些
相似,但由于没有标准,所以各家的开发调试过程也不一样。下面编写 PL/SQL 存储过程、
函数、包及触发器的步骤如下:
剩余10页未读,继续阅读
yuanq_20
- 粉丝: 0
- 资源: 34
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0