文档详情

《oracle存储过程超详细使用手册》.pdf

发布:2016-01-02约3.62万字共42页下载文档
文本预览下载声明
Oracle存储过程总结 1、创建存储过程 create or replace procedure test(var_name_1 in type,var_name_2 out ty pe) 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-d d)); 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) a s --(输入参数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中本是没有数组的概念的,数组其实就是一张表(Ta ble),每个数组元素就是表中的一个记录。 使用数组时,用户可以使用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
显示全部
相似文档