满意答案
zhonghuahk
推荐于 2017.12.16
采纳率:52% 等级:12
已帮助:9622人
==============================================
1.简单条件:使用IF...THEN语句来完成
declare
v_sal emp.sal%type;
v_eno emp.empno%type;
begin
select empno,sal into v_eno,v_sal from emp where lower(ename)=lower('&name');
dbms_output.put_line('雇员原工资:'||v_sal);
if v_sal<2000 then
v_sal:=v_sal+200;
dbms_output.put_line('雇员新工资:'||v_sal)
update emp set sal=v_sal where empno=v_eno;
commit;
end if;
end;
===================================================
2.二重条件分支:使用IF...THEN...ElSE语句来完成
3.多重条件分支:使用IF...THEN...ElSIF语句来完成
===================================================
4.CASE语句 //CASE语句比IF语句执行效率更高,建议使用CASE语句
declare
v_deptno emp.deptno%type;
begin
v_deptno:=&no;
case v_deptno
when 10 then
update emp set comm=100 where deptno=v_deptno;
when 20 then
update emp set comm=200 where deptno=v_deptno;
when 30 then
update emp set comm=300 where deptno=v_deptno;
else
dbms_output.put_line('部门不存在');
end case;
end;
if
else if
循环操作是数据库中最常见的问题,下面就将为您分别介绍sql循环语句和多分支语句的语法,希望对您学习sql的循环语句能够有些许帮助。
一 循环语法
while (条件--只能是表达式)
语句或语句块
[break]--强制退出
二 例子:
declare @n int
while(1=1)
begin
select @n=count(*) from stuMarks where writtenExam<60--统计不及格人数
if(@n>0)
update stuMarks set writtenExam=writtenExam+2--每人加两分
else
break--退出循环
end
三 多分支语句语法
case
when 条件1 then 结果1
when 条件2 then 结果2
[else 其他结果]
end
四 例子:
select stuNo,成绩=case
when writtenExam<60 then 'e'
when writtenExam between 60 and 69 then 'd'
when writtenExam between 70 and 79 then 'c'
when writtenExam between 80 and 89 then 'b'
else 'A'
end
from stuMarks
00分享举报