玩转Oracle-PLSQL控制结构.doc

  1. 1、本文档共6页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Ⅰ、介绍:条件,循环,顺序控制结构; Ⅱ、条件分支语句; if--then , if--then--else, if--then--elseif --else; ㈠、简单的判断语句; SQL> --编写一个过程,可以输入一个员工名, SQL> --如果该员工工资低于2000,就给该员工增加10%; SQL> create or replace procedure mypro(spName varchar2) is ? 2? --定义; ? 3? v_sal emp.sal%type; ? 4? begin ? 5? --执行 ? 6? select sal into v_sal from emp where ename=spName; ? 7? --判断; ? 8? if v_sal<2000 then ? 9? update emp set sal=sal*1.1 where ename=spName; ?10? end if; ?11? end; ?12 ?13 ?14? / Procedure created. ㈡、二重条件分支:if--then--else; --编写一个过程,可以输入一个雇员名, --如果该雇员名的补助不是0,就在原有的基础上增加100, --如果没有补助,就把补助设置为200; SQL> create or replace procedure mypro(spName varchar2) is ? 2? --define ? 3? v_comm m%type; ? 4? begin ? 5? --执行; ? 6? select comm into v_comm from emp where ename=spName; ? 7 ? 8? --判断; ? 9? if v_comm<>0 then ?10? update emp set comm=comm+100 where ename=spName; ?11? else ?12? update emp set comm=comm+200 where ename=spName; ?13? end if; ?14? end; ?15? / Procedure created. 注意:oracle pl/sql中的不等于是<>而不是!=; ㈢、多重条件分支;if--then--elsif--else; 注意:s是elsif 而不是 elseif; SQL> --编写一个过程,可以输入雇员号,如果该雇员的职位是PRESIDENT, SQL> --借给他增加1000工资,如果是manager,就增加500, SQL> --如果是其他就增加200; SQL> SQL> create or replace procedure mypro(spNo number) is ? 2? --define ? 3? v_job emp.job%type; ? 4? begin ? 5? --执行; ? 6? select job into v_job from emp where empno=spNo; ? 7 ? 8? --判断; ? 9? if v_job='PRESIDENT' then ?10? update emp set sal=sal+1000 where empno=spNo; ?11? elsif v_job='MANAGER' then ?12? update emp set sal=sal+500? where empno=spNo; ?13? else ?14? update emp set sal=sal+200? where empno=spNo; ?15? end if; ?16? end; ?17? / Procedure created. Ⅲ、循环语句:loop ㈠简单循环:loop;这种循环以loop开头,以end loop结尾,至少被执行一次; SQL> --现在有一张表 用户id,用户名; SQL> --编写一个过程,可以输入用户名, SQL> --并添加10个用户到表中,用户编号从1开始; SQL> SQL> --创建用户表; SQL> create? table users(id number(3) , name varchar2(5)); Table created. SQL> --创建过程; SQL> create or replace procedure mypro(spName varchar2) is ? 2? --定义部分; ? 3? --定义循环的次数; ? 4? v_num number :=1; ? 5? begin ? 6? --执行部分; ? 7? --循环;

文档评论(0)

ddwg + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档