- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 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)