PL/SQL Oracle plsql
1.以scott用户登录案例库,计算员工的纳税。
显式游标输出员工工号、姓名、薪水、应缴税。
declare
cursor p is select empno,ename,sal from emp; --定义游标
v_empno number(4,0); --要与数据库里面的字段一致v_empno emp.empno%type;
v_ename varchar2(10); --v_ename emp.ename%type;
v_sal number(7,2); --v_sal emp.sal%type;
v_tax number(6,1);
v_base number(4):=1000; --基数
begin
open p; --打开游标
fetch p into v_empno,v_ename,v_sal; --推进游标
while p%FOUND loop
if v_sal<=v_base then
v_tax:=0;
elsif v_sal<=2000 then
v_tax:=(v_sal-v_base)*0.1;
else
v_tax:=(v_sal-v_base)*0.15;
end if;
dbms_output.put_line(v_empno||','||v_ename||','||v_sal||','||v_tax);
fetch p into v_empno,v_ename,v_sal; --推进游标
end loop;
close p; --关闭游标
end;
2.隐式游标SQL语句输出员工工号、姓名、薪水、应缴税。
select empno,ename,sal,case
when sal<=1000 then 0
when sal<=2000 then (sal-1000)*0.1
else (sal-1000)*0.15
end tax
from emp