oracle的控制语句if和循环语句loop while for
pl/sql的控制结构
if-then if-then-else if-then-elsif-else
案例1:编写一个过程,可以输入一个雇员名,如果该雇员的工资低于2000,就给该雇员工资增加10%
create or replace procedure mypro(spName varchar2) is
v_sal emp.sal%type
begin
select sal into v_sal from emp where ename = spName
if v_sal < then
update emp set sal = sal*1.1 where ename = spName
end if;
end;
案例2 编写一个过程,可以输入一个雇员名,如果该雇员的补助不是0就在原来的基础上加100,如果为0则改为200
create or replace procedure mypro(spName varchar2) is
v_comm emp.comm%type
begin
select comm into v_comm from emp where ename = spName;
if v_comm <> then
update emp set comm = comm+ where ename = spName;
else
update emp set comm = comm+ where ename = spName;
end if;
end;
案例3:编写一个过程,可以输入一个雇员编号人,如果该雇员的职位是president就给他的工资增加1000,如果该雇员
的职位是manager就给他的工资增加500,其他职位的雇员工资增加200.
create or replace procedure mypro(spName number) is
v_job emp.job%type
begin
select job into v_job from emp where empno=spNo;
if v_job='PRESIDENT' then
update emp set sal = sal + where empno = spNo;
elsif v_job = 'MANAGER' then
update emp set sal = sal + where empno = spNo;
else
update emp set sal = sal + where empno = spNo;
end if;
end;
pl/sql循环语句
loop是最简单的循环语句,这种循环语句以loop开头,以end loop结尾,这种循环至少会被执行一次
案例1 现在有一张表,表结构为用户id和用户名
create or replace procedure mypro(spName varchar2) is
v_num number:=;
begin
loop
insert into users values(v_num,spName);
--判断是否要退出循环
exit when v_num=;
v_num:=v_num+;
end loop;
end;
while循环,至少要执行循环体一次,而对于while循环来说,只有条件为true时,才会执行循环语句
create or replace procedure mypro(spName varchar2) is
v_num number:=;
begin
while v_num <= loop
insert into users values(v_num,spName);
v_num:=v_num+;
end loop;
end;
循环语句-for循环
begin
--只能按照1的步长不断增加
for i in reverse .. loop
insert into users values(i,'hh');
end loop;
end;
oracle的控制语句if和循环语句loop while for的更多相关文章
- MySQL与Oracle 差异比较之四条件循环语句
循环语句 编号 类别 ORACLE MYSQL 注释 1 IF语句使用不同 IF iv_weekly_day = 'MON' THEN ii_weekly_day := 'MON';ELS ...
- Oracle中PL/SQL的循环语句
在PL/SQL中可以使用LOOP语句对数据进行循环处理,利用该语句可以循环执行指定的语句序列.常用的LOOP循环语句包含3种形式:基本的LOOP.WHILE...LOOP和FOR...LOOP. LO ...
- 1-23-shell脚本之-if流程控制语句和for循环语句的使用
大纲: 1.逻辑判断 2.if流程控制语句 3.for循环控制语句 ---------------------------------------------- 在开始之前,先了解一下逻辑判断符号 ...
- 『无为则无心』Python基础 — 14、Python流程控制语句(while循环语句)
目录 1.什么是循环结构 2.while循环 (1)while循环的语法 (2)while循环的应用 3.while语句的死循环 4.break和continue 5.while循环嵌套 (1)应用场 ...
- 『无为则无心』Python基础 — 15、Python流程控制语句(for循环语句)
目录 1.for循环语法 2.for循环中的break和continue 3.循环+else结构 (1)while...else (2)while...else退出循环的方式 (3)for...els ...
- oracle中的分支与循环语句
分支语句 if的三种写法一, if 2 < 1 then dbms_output.put_line('条件成立'); end if; 二, if 2 < 1 then dbms_outpu ...
- Oracle PLSQL Demo - 05.WHILE循环[WHILE LOOP]
declare v_sal ; begin ) loop v_sal :; dbms_output.put_line(v_sal); end loop; end;
- oracle学习--循环语句
oracle学习--循环语句 loop循环: create or replace procedure pro_test_loop is i number; begin i:=0; loop i:=i ...
- SQL分支语句与循环语句
分支语句 if then elsif then else end if 举例: set serveroutput on declare num number; begin num:; then dbm ...
随机推荐
- Maven解决Missing artifact com.sun:tools:jar:1.5.0错误
<dependency> <groupId>com.sun</groupId> <artifactId>tools</artifactId> ...
- Emacs Lisp 功能扩展集锦
http://docs.huihoo.com/homepage/shredderyin/emacs_elisp.html Emacs 具有超强的扩展性.这是当今没有任何其它编辑器可以比拟 的强大特点. ...
- 最大连续子数组问题-homework-01
1)先写我的 github 的介绍: github 的域名:http://www.github.com/zhuifeng1022 登入 github 大概是下面的视图: 按照助教的方法:我已经建好了代 ...
- JavaWeb应用中重定向与跳转的区别
针对JSP与Servlet: 两种重要的跳转: 1.request.getRequestDispatcher("地址").forward(ServletRequest, Servl ...
- 修复Debian(Ubuntu)Grub2 引导
重装win7, 之前的系统debian 的引导就没有了. 而debian 的盘似乎没有ubuntu的livecd模式,于是用ultraISO将ubuntu的ios文件写入到u盘中. boot时选择启动 ...
- crontab 定时任务格式
如下内容节选自<Linux Crontab 定时任务 命令详解> 用crontab -e 添加要执行的命令 添加的命令必须以如下格式: * * * * * /command path 前五 ...
- Hibernate3注解
1.@Entity(name="EntityName") 必须,name为可选,对应数据库中一的个表 2.@Table(name="",catalog=&quo ...
- Cannot retrieve metalink for repository: epel. Please verify its path and try again
今天在测试环境使用yum安装,遇到一个问题: Error: Cannot retrieve metalink for repository: epel. Please verify its path ...
- C#中的强制类型转换与as转换的区别
C#中的强制类型转换 例如有ClassA与ClassB两个类创建两个类的对象进行转换 1 2 ClassA a = new ClassA(); ClassB b = new ClassB(); 如果 ...
- 怎么SDCard上的获取相册照片
private String getRealPathFromURI(Uri contentUri) { Cursor cursor = null; String result = contentUri ...