即兴的灵感

思维是一种艺术; 艺术需要灵感。

博客好友

最新评论

Oracle存储过程

 
   

Oracle存储过程包含三部分:过程声明,执行过程部分,存储过程异常。

Oracle存储过程可以有无参数存储过程和带参数存储过程。 
、无参程序过程语法

1 create or replace procedure NoParPro
2 as
  ;
3 begin

4 ;
5 
exception     //存储过程异常
6 
    ;
7 end
;
8 

        二、带参存储过程实例

 1 create or replace procedure queryempname(sfindno emp.empno%type) as
 2        sName emp.ename%type;
 3        sjob emp.job%
type;
 4 begin

 5        ....
 7 exception
          ....
14 end;
15 

    三、 带参数存储过程含赋值方式
 1 create or replace procedure runbyparmeters  (isal in emp.sal%type,
                            sname out 
varchar,sjob in out varchar
)
 2  as icount number
;
 3  begin

 4       select count(*into icount from emp where sal>isal and job=sjob;
 5       if icount=1 then

 6         ....
 9       else
10         ....
12       end if;
13 
 exception
14       when too_many_rows then

15       DBMS_OUTPUT.PUT_LINE('返回值多于1行');
16       when others then

17       DBMS_OUTPUT.PUT_LINE('在RUNBYPARMETERS过程中出错!');
18  end
;
19 

  四、在Oracle中对存储过程的调用
  过程调用方式一
 1 declare
 2        realsal emp.sal%type;
 3        realname varchar(40
);
 4        realjob varchar(40
);
 5  begin   //存储过程调用开始

 6        realsal:=1100;
 7        realname:=''
;
 8        realjob:='CLERK'
;
 9        runbyparmeters(realsal,realname,realjob);     --
必须按顺序
10        DBMS_OUTPUT.PUT_LINE(REALNAME||'   '||
REALJOB);
11  END
;  //过程调用结束
12 

  过程调用方式二
 1 declare
 2       realsal emp.sal%type;
 3       realname varchar(40
);
 4       realjob varchar(40
);
 5 begin    //过程调用开始

 6       realsal:=1100;
 7       realname:=''
;
 8       realjob:='CLERK'
;
 9       runbyparmeters(sname=>realname,isal=>realsal,sjob=>realjob);  --
指定值对应变量顺序可变
10       DBMS_OUTPUT.PUT_LINE(REALNAME||'   '||
REALJOB);
11 END
;  //过程调用结束
12 

 至此,有关ORACLE的基本存储过程以及对Oracle存储过程的调用方式介绍完毕。

 
凤凰涅槃/浴火重生/马不停蹄/只争朝夕
     隐姓埋名/低调华丽/简单生活/完美人生

posted on 2007-10-03 00:07 poetguo 阅读(76362) 评论(17)  编辑  收藏 所属分类: Oracle

评论

# re: Oracle存储过程 2007-11-02 11:22 aomiao

偶有些棘手的存储过程超基础问题能否请教?  回复  更多评论   

# re: Oracle存储过程 2007-11-04 09:34 improviser

由于最近比较忙,不好意思,找个时间跟你说  回复  更多评论   

# re: Oracle存储过程 2008-06-03 10:48 df

dfh  回复  更多评论   

# re: Oracle存储过程 2008-11-29 17:39 学习Oracle存储过程

路过就进来,刚好,就学习  回复  更多评论   

# re: Oracle存储过程 2008-12-09 08:37 即兴诗人

oracle是好东西哈啊哈,全能数据库哈  回复  更多评论   

# re: Oracle存储过程 2009-01-27 14:34 oracle

Oracle!  回复  更多评论   

# re: Oracle存储过程 2009-03-12 23:15 寻找Oracle

Oracle存储过程,对Oracle存储过程基本过程大致了解了,谢咯  回复  更多评论   

# Internet Pr 2009-05-18 05:08 Internet Pr

Excuse me. Everybody likes to go their own way--to choose their own time and manner of devotion.
I am from Angola and now teach English, please tell me right I wrote the following sentence: "Seo options the secrets to search engine success tricks for google search engine how people make money online with seo.Search engine optimization seo is the process of improving the number volume is social media optimization smo more important to your business than seo."

With best wishes :(, Rupert.  回复  更多评论   

# re: Oracle存储过程 2009-07-25 12:24 米饭

谢谢,言简意赅  回复  更多评论   

# re: Oracle存储过程 2009-08-26 10:11 雹子

很好,值得借鉴  回复  更多评论   

# re: Oracle存储过程 2009-11-06 20:28 蓝色飞扬

有段时间没编写Oracle了,感觉有点生疏了,这个东西,需要经常的编写,经常的看代码,才能熟能生巧啊。  回复  更多评论   

# re: Oracle存储过程[未登录] 2010-02-05 11:28 豆豆

受益匪浅  回复  更多评论   

# re: Oracle存储过程[未登录] 2011-09-08 16:15 DDD

@蓝色飞扬
是那么回事  回复  更多评论   

# re: Oracle存储过程 2012-09-14 13:09 funk japan

你这页面上面怎么还给日本人打广告呢?难道你就没有一点爱国主义精神吗?  回复  更多评论   

# re: Oracle存储过程 2012-11-20 15:21 ryrtyrey

erytry  回复  更多评论   

# re: Oracle存储过程 2012-11-26 09:49 sb 爱国贼

@funk japan
sb,无脑……  回复  更多评论   

# re: Oracle存储过程 2013-11-14 16:27 天天发给他

6①56一  回复  更多评论   


只有注册用户登录后才能发表评论。


网站导航: