oracle控制语句

--控制语句
--1
declare
v_sal number(6,2);
begin
select sal into v_sal from emp
where lower(ename)=lower('&&name');
if v_sal<2000 then
update emp set sal=v_sal+200
where lower(ename)=lower('&name');
end if;
end;

--2
declare
v_sal emp.sal%type;
v_name emp.ename%type;
begin
select ename,sal into v_name, v_sal from emp where empno=&no;
case
when v_sal<=1000 then
update emp set comm=100 where ename=v_name;
when v_sal<=2000 then
update emp set comm=80 where ename=v_name;
when v_sal<=6000
then update emp set comm=50 where ename=v_name;
end case;

end;

--循环
--基本循环
create table temp(a int);

declare
i int:=1;
begin
loop
insert into temp(a) values(i);
exit when i=10;
i:=i+1;

end loop ;
end;

--while循环

declare
i int:=10;
begin
while i<=20 loop
insert into temp values(i);
i:=i+1;
end loop ;
end;

--for 循环
begin
for i in 20..30 loop
insert into temp values(i);
end loop ;
end;
--嵌套循环
declare
result int;
begin
<<outer>>
for i in 1..100 loop
<<inner>>
for j in 1..100 loop
result:=i*j;
exit outer when result=1000;
exit when result=500;
end loop inner;
dbms_output.put_line(result);
end loop outer;
dbms_output.put_line(result);
end;

--顺序控制语句
--go to
declare
i int:=1;
begin
loop
insert into temp values(i);
if i>=10 then
goto end_loop;
end if;
i:=i+1;
end loop;
<<end_loop>>
dbms_output.put_line('循环结束');
end;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值