- 1、本文档共12页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
oracle课程第七天笔记
Pl/sql的进阶
控制结构
条件分支语句
Pl/sql中提供了三种条件分支语句if—then,if—then—else,if-then-elsif—else
简单的条件判断if—then
例:编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该雇员工资增加10%
Create or replace procedure sp_spro6(spname varchar2) is
--定义
V_sal emp.sal%type;
Begin
--执行
Select sal into v_sal from emp where ename=spname;
--判断
If v_sal2000 then
Update emp set sal=sal*1.1 where ename=spname;
End if;
End;
Exec sp_pro6(‘scott’);
二重条件分支 if—then—else
例:编写一个过程,可以输入一个雇员名,如果该雇员的补助不是0,就在原来的基础上增加100;如果补助为0就把补助设为200;
Create or replace procedure sp_pro6(spname vachar2) is
--定义
V_comm m%type;
Begin
--执行
Select comm. Into v_comm from emp where ename=spname;
--判断
If v_comm0 then
Update emp set comm.=comm.+100 where ename=spname;
Else
Update emp set comm.=comm.+200 where ename=spname;
End if;
End;
多重条件分支if—then—elsif—else
编写一个过程,可以输入一个雇员编号,如果该雇员的职位是PRESIDENT就给他的工资增加1000,如果该雇员的职位是MANAGER就给他的工资增加500,其他职位的雇员工资增加200。
Create or replace procedure sp_pro6(spno number) is
--定义
V_job emp.job%type;
Begin
--执行
Select job into v_job from emp where empno=spno;
If v_job=’PRSEDIENT’ then
Update emp set sal=sal+1000 where empno=spno;
Elsif v_job =’MANAGER’ then
Update emp set sal=sal+500 where empno=spno;
Else
Update emp set sal=sal+200 where empno=spno;
End if;
End;
Exec sp_pro6(7788);
循环语句loop
是pl/sql中最简单的循环语句,这种循环语句以loop开头,以end loop结尾,这种循环至少会被执行一次。
例:现有一张表users,表结构如下 用户id ,用户名
编写一个过程,可输入用户名,并循环添加10个用户到user表中,用户编号从1开始增加。
Create or replace procedure sp_pro6(spname varchar2) is
--定义
V_num number:=1;
Begin
Loop
Insert into users values(v_num,spname);
--判断是否要退出循环
Exit when v_num=10;
--自增
V_num:=v_num+1;
End loop;
End;
循环语句while
基本循环至少要执行循环体一次,而对于while循环来说,只有条件为true时,才会执行循环体语句,while 循环以while..loop开始,以end loop结束
案例:现有一张表users,表结构如下用户id,用户名
编写一个过程,可以输入用户名,并循环添加10个用户到users表中,用户编号从11开始增加。
Create or replace procedure sp_pro6(spname varchar2) is
--定义
V_num number:=1;
Begin
While v_num=20 loop
Insert into users values(v_num,spname);
V_num:=v_num+1;
End loop;
End;
循环语句 for
Begin
For I in reverse 1..10 loop
Insert into users values(1,’顺平’);
E
您可能关注的文档
- 九年级上期第一次月考数学试卷.doc
- 贤中2010—2011第二学期九年级物理第一次月考试卷.doc
- 文理毕业论文封面范本.doc
- 1.2.1排列教案.doc
- 第四课Request对象.ppt
- 10.1走进微观.doc
- 2-3.施工项目部人员编制标准化管理办法.doc
- 新目标英语八年级下1-3单元练习题.doc
- 11.10文档.doc
- 工程动力部配电工岗位职试卷.doc
- 新高考生物二轮复习讲练测第6讲 遗传的分子基础(检测) (原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第3讲 酶和ATP(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第9讲 神经调节与体液调节(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第8讲 生物的变异、育种与进化(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第5讲 细胞的分裂、分化、衰老和死亡(检测)(原卷版).docx
- 新高考生物二轮复习讲练测第12讲 生物与环境(讲练)(原卷版).docx
- 新高考生物二轮复习讲练测第11讲 植物生命活动的调节(检测)(原卷版).docx
文档评论(0)