为什么用pl/sql编程时用if嵌套case时会出错 5
setechooffsetverifyoffsetserveroutonsetdefine'&'prompt请输入学生的成绩:acceptscorenumberdecla...
set echo off
set verify off
set serverout on
set define '&'
prompt 请输入学生的成绩:
accept score number
declare
da exception;
xiao exception;
i number;
t number;
begin
if &score>100 then
raise da;
else if &score<0 then
raise xiao;
else
i:=&score/10;
t:=floor(i);
case t
when 10 then dbms_output.put_line('这个学生的等级是A');
when 9 then dbms_output.put_line('这个学生的等级是A');
when 8 then dbms_output.put_line('这个学生的等级是B');
when 7 then dbms_output.put_line('这个学生的等级是C');
when 6 then dbms_output.put_line('这个学生的等级是D');
else dbms_output.put_line('这个学生的等级是E');
end case;
end if;
exception
when da then dbms_output.put_line('输入的成绩大于100');
when xiao then dbms_output.put_line('输入的成绩小于0');
end;
/ 展开
set verify off
set serverout on
set define '&'
prompt 请输入学生的成绩:
accept score number
declare
da exception;
xiao exception;
i number;
t number;
begin
if &score>100 then
raise da;
else if &score<0 then
raise xiao;
else
i:=&score/10;
t:=floor(i);
case t
when 10 then dbms_output.put_line('这个学生的等级是A');
when 9 then dbms_output.put_line('这个学生的等级是A');
when 8 then dbms_output.put_line('这个学生的等级是B');
when 7 then dbms_output.put_line('这个学生的等级是C');
when 6 then dbms_output.put_line('这个学生的等级是D');
else dbms_output.put_line('这个学生的等级是E');
end case;
end if;
exception
when da then dbms_output.put_line('输入的成绩大于100');
when xiao then dbms_output.put_line('输入的成绩小于0');
end;
/ 展开
1个回答
展开全部
oracle case when的用法
SELECT col1, col2,
CASE
WHEN col3 > 1 AND col3 <2
THEN '1'
WHEN col3 > 2 AND col3 <3
THEN '2'
WHEN col3 > 3 AND col3 <4
THEN '3'
ELSE '4'
END mylevel
FROM table1
注意点:
1、以CASE开头,以END结尾
2、分支中WHEN 后跟条件,THEN为显示结果
3、ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加
4、END 后跟别名
SELECT col1, col2,
CASE
WHEN col3 > 1 AND col3 <2
THEN '1'
WHEN col3 > 2 AND col3 <3
THEN '2'
WHEN col3 > 3 AND col3 <4
THEN '3'
ELSE '4'
END mylevel
FROM table1
注意点:
1、以CASE开头,以END结尾
2、分支中WHEN 后跟条件,THEN为显示结果
3、ELSE 为除此之外的默认情况,类似于高级语言程序中switch case的default,可以不加
4、END 后跟别名
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询