declare
sum_balance int;
cus_name varchar2 (20);
err exception;
begin
cus_name:='&p_cus_name';
select sum(balance)
into sum_balance
from account, depositor
where customer_name = cus_name
and account.account_number = depositor.account_number;
if sum_balance < 400
then
dbms_output.put_line ('Bronze Customer');
elsif sum_balance < 700
then
dbms_output.put_line ('Silver Customer');
else
dbms_output.put_line ('Golden Customer');
end if;
exception
when no_data_found
then
dbms_output.put_line ('No such customer');
end;第一次运行时能正常运行,但是随后随便我输入个什么名字,查询结果都是“Golden customer”,在没有添加异常处理代码前,输入不存在的用户时能正常报错,但是在加入异常处理代码并运行了几遍后再删掉异常处理代码,却又不报错了!请问是什么原因呀?
解决方案 »
- 有没有做过Oracle ERP 实施的朋友!!
- ORACLE CLOB类型的字段为空时占多少空间啊!
- 表的列值是where形式,能用该列值代替语句里的where吗
- 求:oracle SQL 分组后去其中任意两条记录。
- 如何增加一个ID列
- Oracle中如何调用远端的存储过程?
- redhat9 安装ORACLE8I 求binutils-2.10.91.0.2-3.i386.rpm下载地址
- 很多电信和电力地计费账务都是oracle构件,求电信和电力地计费账务方面的详细文档
- 最后十分,问......
- 高分求教oracle中blob问题
- oracle存储过程怎么写,在线急等!!!!!!!!
- “连接数据库失败”数据库时断时续
DECLARE
v_totnum INT;
BEGIN
SELECT Sum(1) INTO v_totnum FROM txdses41 WHERE 1=2;
IF v_totnum<400 THEN
Dbms_Output.put_line('Bronze Customer');
ELSIF v_totnum<700 THEN
Dbms_Output.put_line('Silver Customer');
ELSE
Dbms_Output.put_line('Golden Customer');
END IF;
--EXCEPTION WHEN No_Data_Found THEN
--Dbms_Output.put_line('No such customer');
END;