存储过程基础语法解析_第1页
存储过程基础语法解析_第2页
存储过程基础语法解析_第3页
存储过程基础语法解析_第4页
存储过程基础语法解析_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

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

文档简介

存储过程基础语法解析while循环while条件语句loopbeginend;endloop;eg:createorreplaceproceduretest_whileasnumint;beginnum:=1;whilenum<10loopbegindbms_output.put_line('test');num=num+1;endloop;end;/createorreplaceproceduretest_whileasv_idint;beginv_id:=1;whilev_id<=10loopbegininserintoTESTB_RENAMEvalues(v_id);v_id=v_id+1;endloop;end;定义PL/SQL块时需要注意的几点:1、执行部分时必须的,声明部分和异常部分时可以选的2、可以在一个块的执行部分或者异常处理部分嵌套其他的PL/SQL块。3、所有的PL/SQL块都已END;结束。638棋牌实例:定义一个包含声明部分,执行部分,和异常处理部分的PL/SQL块declarev_namevarchar2(10);beginselectenameintov_namefromempwhereempno=1000;DBMS_OUTPUT.PUT_LINE(v_name);exceptionwhenNO_DATA_FOUNDTHENDBMS_OUTPUT.PUT_LINE('NODATA');END;/实例:定义一个只包含执行部分的PL/SQL块beginDBMS_OUTPUT.PUT_LINE('NODATA');end;/实例:定义一个包含子块的PL/SQL块declarev_salnumber(8,2);v_deptnoint;beginbeginselectdeptnointov_deptnofromempwhereEMPNO=7000;end;selectavg(sal)intov_salfromempwhereDEPTNO=v_deptno;DBMS_OUTPUT.PUT_LINE(v_sal);end;/if判断declarev_numint;beginv_num:=1;ifv_num<10thenv_num:=v_num+1;DBMS_OUTPUT.PUT_LINE(v_num);endif;end;/while+loop循环declarev_numint;beginv_num:=1;whilev_num<10loopv_num:=v_num+1;DBMS_OUTPUT.PUT_LINE(v_num);endloop;end;/for循环declarev_numint;v_nameint;beginv_num:=10;v_name:=1;foriin1..v_numloopDBMS_OUTPUT.PUT_LINE(v_name);v_name:=v_name+1;endloop;end;/\t"/database/201809/_blank"Oracle中三种循环(For、While、Loop)案例1.ORACLE中的FOR循环用法(九九乘法表)复制代码1declare2iint:=0;3jint:=0;4begin5foriin1..9loop6forjin1..iloop7Dbms_Output.put(i||'*'||j||'='||i*j);8dbms_output.put('');9endloop;10dbms_output.new_line;11endloop;12end;复制代码移动电玩城2.ORACLE中的While循环用法(九九乘法表)复制代码1declare2iint:=1;3jint:=1;4begin5whilei<=9loop6j:=1;7whilej<=iloop8Dbms_Output.put(i||'*'||j||'='||i*j);9dbms_output.put('');10j:=j+1;11endloop;12dbms_output.new_line;13i:=i+1;14endloop;15end;复制代码3.ORACLE中的loop循环用法(九九乘法表)复制代码1declare2iint:=1;3jint:=1;4begin5loop6loop7Dbms_Output.put(i||'*'||j||'='||i*j);8dbms_output.put('');9j:=j+1;10exitwhenj>i;11endloop;12dbms_output.put_line('');13i:=i+1;14j:=1;15exitwheni>9;16endloop;17end;复制代码一、returning语句如果要查询当前DML语句操作的记录信息,可以在DML语句末尾使用returning语句返回记录的信息。returning语句的基本语法和o相似。returningsalaryintovar1;declarevar_noemp.sal%type;beginupdateempsetsal=sal+10000whereempno=7000;returningsalintovar_no;dbms_output.put_line(var_no);end;/二、IF语句三、CASE语句四、简单循环LOOP循环:declarev_countint:=1;beginloopdbms_output.put_line(v_count);v_count:=v_count+1;exitwhenv_count>20;endloop;end;/while循环:whilev_cunt<20loopdbms_output.put_line(v_count);v_count:=v_count+1;endloop;FOR循环:FORcounterin[REVERSE]low..highloop使用for循环需要注意的事项:1、循环变量不需要显示的定义\t"/database/201809/_blank"系统隐含的将它定义为binary_interger变量。2、系统默认循环变量时从小到大增加1,如果加入[reverse]参数则会变成递减。3、循环变量只能在循环体中使用不能在循环体外使用。beginforv_cin1..20loopdbms_output.put_line(v_c);endloop;end;/五、跳转结构gotocase语句casevar1when10thenvar:=100;when20thenvar:=200;endcase;六、游标为了处理select语句只能怪返回多行数据的情况,在oracle11g中恶意使用游标处

温馨提示

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

评论

0/150

提交评论