云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > oracle存储过程超详细使用手册

oracle存储过程超详细使用手册

  • 62 次阅读
  • 3 次下载
  • 2025/5/26 1:43:16

Oracle存储过程总结

1、创建存储过程

create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin

--存储过程的执行体 end test;

打印出输入的时间信息 E.g:

create or replace procedure test(workDate in Date) is begin

dbms_output.putline(The input date is:||to_date(workDate, yyyy-mm-dd)); end test;

2、变量赋值

变量名 := 值; E.g:

create or replace procedure test(workDate in Date) is x number(4,2); begin x := 1; end test;

3、判断语句:

if 比较式 then begin end; end if; E.g

create or replace procedure test(x in number) is

begin

if x >0 then begin x := 0 - x; end; end if; if x = 0 then begin x: = 1; end; end if; end test;

4、For 循环

For ... in ... LOOP --执行语句 end LOOP;

(1)循环遍历游标

create or replace procedure test() as Cursor cursor is select name from student; name varchar(20); begin

for name in cursor LOOP begin

dbms_output.putline(name); end; end LOOP; end test;

(2)循环遍历数组

create or replace procedure test(varArray in myPackage.TestArray) as --(输入参数varArray 是自定义的数组类型,定义方式见标题6) i number; begin

i := 1; --存储过程数组是起始位置是从1开始的,与java、C、C++等语言不同。因为在Oracle中本是没有数组的概念的,数组其实就是一张

--表(Table),每个数组元素就是表中的一个记录,所以遍历数组时就相当于从表中的第一条记录开始遍历

for i in 1..varArray.count LOOP

dbms_output.putline(The No. || i ||record in varArray is: ||varArray(i)); end LOOP; end test;

5、While 循环

while 条件语句 LOOP begin end; end LOOP; E.g

create or replace procedure test(i in number) as begin

while i < 10 LOOP begin i:= i + 1; end; end LOOP; end test;

6、数组

首先明确一个概念:Oracle中本是没有数组的概念的,数组其实就是一张表(Table),每个数组元素就是表中的一个记录。

使用数组时,用户可以使用Oracle已经定义好的数组类型,或可根据自己的需要定义数组类型。

(1)使用Oracle自带的数组类型

x array; --使用时需要需要进行初始化 e.g:

create or replace procedure test(y out array) is x array; begin

x := new array(); y := x; end test;

(2)自定义的数组类型

(自定义数据类型时,建议通过创建Package的方式实现,以便于管理) E.g (自定义使用参见标题4.2) create or replace package myPackage is -- Public type declarations type info is record( name varchar(20), y number);

type TestArray is table of info index by binary_integer; --此处声明了一个TestArray的类型数据,其实其为一张存储Info数据类型的Table而已,及TestArray 就是一张表,有两个字段,一个是

name,一个是y。需要注意的是此处使用了Index by binary_integer 编制该Table的索引项,也可以不写,直接写成:type TestArray is

table of info,如果不写的话使用数组时就需要进行初始化:varArray myPackage.TestArray; varArray := new myPackage.TestArray(); end TestArray;

搜索更多关于: oracle存储过程超详细使用手册 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

Oracle存储过程总结 1、创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out type) as --声明变量(变量名 变量类型) begin --存储过程的执行体 end test; 打印出输入的时间信息 E.g: create or replace procedure test(workDate in Date) is begin dbms_output.putline(The input date is:||to_date(workDate, yyyy-mm-dd)); end test; 2、变量赋值 变量名 := 值; E.g: create or re

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com