oracle简单编程问题,在线等 急急急!大大悬赏
发布网友
发布时间:2023-07-03 21:39
我来回答
共2个回答
热心网友
时间:2023-09-14 02:24
只做了两个
--根据输入指定员工的姓名,从emp表中查询该员工的
--工资,并判断该员工的工资是否高于10000,
--如高于10000,则给该员工的工资减少20%
declare
v_sal emp.sal%type;
v_ename emp.ename%type:=upper('&v_ename');
begin
select sal into v_sal from emp where ename=v_ename;
if v_sal>10000 then
update emp set sal=v_sal*(1-0.2) where ename=v_ename;
end if;
end;
--编写一个存储过程update_sal,给雇员加工资,过程有两个参数,
--参数deptid为要加薪的部门号,参数add_level为加薪倍数。
--如果指定的部门不存在员工,该过程不作任何动作,否则按照倍数更新雇员工资。
create or replace procere update_sal(
deptid emp.deptno%type,--部门号
add_level number--加薪倍数
)
as
v_num number;
begin
select count(*) into v_num from emp where deptno=deptid;
if v_num>0 then
update emp set sal=sal*add_level where deptno=deptid;
end if;
end;
call update_sal(40,2);--调用存储过程,括号里的数字为部门号和加薪倍数
热心网友
时间:2023-09-14 02:25
哇这还要写jdbc连接吗?逻辑上没有太难的追问有答案吗。求做?