验证中...
语言: SQL
分类: 数据库相关
最后更新于 2018-06-17 20:02
gistfile1.txt
原始数据 复制代码
--PL/SQL块
create sequence seq_fjl
begin
for v in 1..100 loop
insert into fjl(id) values(seq_fjl.nextval);
end loop;
end;
create table fjl(
id varchar(50) primary key
)
--查询工资,大于8000在控制台显示高工资,在5000-8000的范围内显示中等工资
--否则为低工资
begin
for v in (select * from employees ) loop
if v.salary > 8000 then
dbms_output.put_line(v.last_name || '高工资');
elsif v.salary<8000 and v.salary>5000 then
dbms_output.put_line(v.last_name || '中等工资');
else
dbms_output.put_line(v.last_name || '低工资');
end if;
end loop;
end;
select * from employees
--求雇员表中的最低工资和人的名称
declare
v_salary employees.salary%type;
v_name employees.last_name%type;
begin
select salary,last_name into v_salary, v_name from employees where salary = (select min(salary) from employees);
dbms_output.put_line(v_salary || v_name);
end;
--异常的处理 others是所有异常的父类
declare
v_a number:=10;
v_b number:=0;
v_c number ;
begin
v_c := v_a/v_b;
exception
when others then
dbms_output.put_line(sqlerrm);
end;
--自定义异常并且抛出
declare
v_money employees.salary%type;
money_not_enough exception;
begin
select min(salary) into v_money from employees;
if v_money>100 then
raise money_not_enough;
end if;
exception
when money_not_enough then
dbms_output.put_line('余额不足!');
end;
--练习:使用plsql编程,编写除法过程,如果除数和被除数有一个为0,则抛出异常:操作数不能为<=0,如果运算过程中
--出现了异常,则控制台显示未知错误,没有出现异常的话,则输出正确的结果
declare
v_a number:=-1;
v_b number:=0;
v_c number;
num_not_zero exception;
begin
v_c:=v_a/v_b;
if v_c<=0 then
raise num_not_zero;
else
dbms_output.put_line(v_c);
end if;
exception
when num_not_zero then
dbms_output.put_line('操作数不能<=0');
when others then
dbms_output.put_line('未知异常');
end;

评论列表( 0 )

你可以在登录后,发表评论

11_float_left_people 11_float_left_close