龙空技术网

Oracle存储过程总结(一)

我爱吃卤煮 694

前言:

而今姐妹们对“oracle存储过程或者用法”都比较关注,咱们都需要学习一些“oracle存储过程或者用法”的相关文章。那么小编在网摘上汇集了一些有关“oracle存储过程或者用法””的相关内容,希望同学们能喜欢,咱们快快来学习一下吧!

1、创建存储过程

create or replace procedure test(var_name_1 in type,var_name_2 out type) is

--声明变量(变量名 变量类型)

begin

--存储过程的执行体

end test;

打印出输入的时间信息

E.g:

createorreplaceproceduretest(workDate inDate)is

begin

dbms_output.put_line('The input date is:'||to_date(workDate,'yyyy-mm-dd'));

endtest;

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

Cursor1 cursor is select name from student;

name varchar(20);

begin

for name in cursor LOOP

begin

dbms_output.put_line(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;

标签: #oracle存储过程或者用法 #oracle存储过程游标循环 #oraclenumber存储 #oracle关闭存储过程 #oracle 存储过程等待一秒