存储过程基本定义_第1页
存储过程基本定义_第2页
已阅读5页,还剩2页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、存储过程基本定义语句块定义:1. decalre2. - 变量声明3. var1 number(2);4. var2 char(2) := 11;5.- 仅声明- 在声明的同时初始化6. begin7.- 语句8. end; - 语句块结束if 语句1. if a = 1 or b = 2 then2.3. elsif c = 3 then4.5. else6.7. end if;case 语句case语句如果作为分控制语句,最后结束语句是end case,如果是作为select语句的控制语句则只需要end。1. declare2. num number(10) := 1;3. begin4.

2、5.casewhen num = 0 then dbms_output.put_line( zero);6.when num = 1 then dbms_output.put_line( one);else dbms_output.put_line( default);7.8.end case;9.10.11.12.13.14.case numwhen 0 then dbms_output.put_line( zero);when 1 then dbms_output.put_line( one);else dbms_output.put_line( default);end case;15.

3、 end;for 循环for循环主要有两个处。1、 循环个范围格式:for i in start . end loop . end loop;1. for i in 0.9 loop2.dbms_output.put_line(i: | i);3. end loop;2、遍历隐式游标隐式游标的好处是不需要动关闭,便1. for currow in (2.3.4.select t.col1, t.col2from tableName twhere .5. ) loop6.7.8.if currow.col1 = 0 thenreturn; - 中sp,返回end if;9. end loop;w

4、hile 循环Sql代码1. isok := 9;2. while isok = 0 loop3.4.isok := isok - 1;5.if isok = 8 thencontinue;6.- 与编程语的 continue 语义样,跳过当前循环的剩余语句,回到循环开始7.end if;8.9.if isok = 4 thenexit;10.11.12.13.- 与编程语的 break 语义样,跳出循环end if;dbms_output.put_line(isok: | isok);14. end loop;15.16. dbms_output.put_line(outside while

5、 loop .);存储过程定义Sql代码1. create or replace procedure sp_name (2.- 参、出参列表, 逗号分隔。uid in varchar2,3.- 不能带长度信息- 第个输参数4.startDate in date,5.defaultVar in varchar2 default ,isok out number,- 默认参数,如果不传,要注意参数的顺序6.- 输出参数7.result out varchar2- 第个输出参数8. )9. as10. - 变量声明,每个声明分号结束。可以在声明的同时初始化11. var1 varchar2(11);

6、12. var2 number(2) := 123;13.14. begin15.- 字符串拼接 |16.dbms_output.put_line(isok: | abc);17.18.- 调其他存储过程19.sub_sp_name(param1, prarm2, outParam1, outParam2);20.21. end;- 存储过程结束函数定义1. create or replace function func (2.- 参、出参列表, 逗号分隔。uid in varchar2,3.- 不能带长度信息- 第个输参数4.startDate in date,5.defaultVar in

7、 varchar2 default ,isok out number,- 默认参数,如果不传,要注意参数的顺序6.- 输出参数7.result out varchar2- 第个输出参数8. )9. return number10. as- 定义返回类型11. - 变量声明,每个声明分号结束。可以在声明的同时初始化12. var1 varchar2(11);13. var2 number(2) := 123;14.15. begin16.- 字符串拼接 |17.dbms_output.put_line(isok: | abc);18.19.20.return ret_val;21. end;存储

8、过程与函数异同1、两者定义类似,都可以带输输出参数。2、函数有返回值,存储过程没有。3、函数的调要在select语句;存储过程不,可以独调。游标隐式游标隐式游标的好处是不需要动关闭,便1. for currow in (2.3.4.select t.col1, t.col2from tableName twhere .5. ) loop6.7.8.if currow.col1 = 0 thenreturn; - 中sp,返回end if;9. end loop;显式游标Sql代码1. declare2. isok integer;3. v_event_id number(10);4. v_is

9、again number(2);5. v_rate number(2);6.7. v_sender char(11) :=8.9. cursor cursorVar is select event_id, isagain, rate from call_event where sender = v_sender; - 声明游标10.11.12. begin13.14.15.16.17.18.19.20.21.22.23.24.25.26.open cursorVar; - 打开游标loopfetch cursorVar into v_event_id, v_isaga

10、in, v_rate;exit when cursorVar%notfound;- 取值-当没有记录时退出循环dbms_output.put_line(v_event_id | , | v_isagain | , | v_rate);end loop;close cursorVar; - 关闭游标-游标的属性有:%FOUND,%NOTFOUNRD,%ISOPEN,%ROWCOUNT;-%FOUND:已检索到记录时,返回true-%NOTFOUNRD:检索不到记录时,返回true-%ISOPEN:游标已打开时返回true-%ROWCOUNT:代表检索的记录数,从1开始27. end;带参数游标S

11、ql代码1. declare2. isok integer;3. v_event_id number(10);4. v_isagain number(2);5. v_rate number(2);6.7. v_sender char(11) :=8.9. cursor cursorVar(p_sender varchar2) is select event_id, isagain, rate from call_event where sender = p_sender; - 声明游标10.11. begin12.13.14.15.16.17.18.19.open cursorVar(v_sender); - 打开游标,在括号传参。loopfetch cursorVar into

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论