编写一个PL/SQL块,将emp表中的每个员工分别归到不同的部门中,第一个员工归到10部门,第二个员工归到20部 20
1,编写一个PL/SQL块,将emp表中的每个员工分别归到不同的部门中,第一个员工归到10部门,第二个员工归到20部门,第三个员工归到30部门……2,使用if…elsif...
1,编写一个PL/SQL块,将emp表中的每个员工分别归到不同的部门中,第一个员工归到10部门,第二个员工归到20部门,第三个员工归到30部门……
2,使用if…elsif…else…end if语句,接受用户输入的员工号,按规则给其增加工资。10部门增加10%,20部门增加20%,30部门增加30%,40部门增加40%,但不能超过5000 展开
2,使用if…elsif…else…end if语句,接受用户输入的员工号,按规则给其增加工资。10部门增加10%,20部门增加20%,30部门增加30%,40部门增加40%,但不能超过5000 展开
2个回答
展开全部
第一个问题你没说清楚,如果人数多于部门数怎么处理?
第二个:好久没写了,未测试,基本思路应该没问题
declare
cursor emp_cursor as select * from emp;--定义游标
begin
for ee in emp_cursor loop
if ee.deptno=’10’ then
update emp set salary=case when salary*1.1>5000 then 5000 else salary*1.1 end as newsalary where empno=ee.empno;
else if ee.deptno=’20’ then
update emp set salary=case when salary*1.2>5000 then 5000 else salary*1.2 end as newsalary where empno=ee.empno;
…
End if;
End loop;
Commit;
End;
第二个:好久没写了,未测试,基本思路应该没问题
declare
cursor emp_cursor as select * from emp;--定义游标
begin
for ee in emp_cursor loop
if ee.deptno=’10’ then
update emp set salary=case when salary*1.1>5000 then 5000 else salary*1.1 end as newsalary where empno=ee.empno;
else if ee.deptno=’20’ then
update emp set salary=case when salary*1.2>5000 then 5000 else salary*1.2 end as newsalary where empno=ee.empno;
…
End if;
End loop;
Commit;
End;
2011-04-21
展开全部
by ADMINISTRATOR
DECLARE
-- Local variables here
/*
编写一PL/SQL程序实现emp表中的ENAME、JOB、COMM、SAL四个字段内容的输出(用%type定义变量)
*/
P_ENAME EMP.ENAME%TYPE;
P_JOB EMP.JOB%TYPE;
P_COMM EMP.COMM%TYPE;
P_SAL EMP.SAL%TYPE;
CURSOR CUR_EMP IS
SELECT EMP.ENAME, EMP.JOB, EMP.COMM, EMP.SAL FROM EMP EMP;
BEGIN
-- Test statements here
FOR rec_cur IN CUR_EMP LOOP
P_ENAME := rec_cur.ename;
P_JOB := rec_cur.JOB;
P_COMM := rec_cur.COMM;
P_SAL := rec_cur.SAL;
dbms_output.put_line('EMP.ENAME%TYPE:'||P_ENAME);
dbms_output.put_line('EMP.JOB%TYPE:'||P_JOB);
dbms_output.put_line('EMP.COMM%TYPE:'||P_COMM);
dbms_output.put_line('EMP.SAL%TYPE:'||P_SAL);
dbms_output.put_line('------------------------------');
END LOOP;
END;
另外,站长团上有产品团购,便宜有保证
DECLARE
-- Local variables here
/*
编写一PL/SQL程序实现emp表中的ENAME、JOB、COMM、SAL四个字段内容的输出(用%type定义变量)
*/
P_ENAME EMP.ENAME%TYPE;
P_JOB EMP.JOB%TYPE;
P_COMM EMP.COMM%TYPE;
P_SAL EMP.SAL%TYPE;
CURSOR CUR_EMP IS
SELECT EMP.ENAME, EMP.JOB, EMP.COMM, EMP.SAL FROM EMP EMP;
BEGIN
-- Test statements here
FOR rec_cur IN CUR_EMP LOOP
P_ENAME := rec_cur.ename;
P_JOB := rec_cur.JOB;
P_COMM := rec_cur.COMM;
P_SAL := rec_cur.SAL;
dbms_output.put_line('EMP.ENAME%TYPE:'||P_ENAME);
dbms_output.put_line('EMP.JOB%TYPE:'||P_JOB);
dbms_output.put_line('EMP.COMM%TYPE:'||P_COMM);
dbms_output.put_line('EMP.SAL%TYPE:'||P_SAL);
dbms_output.put_line('------------------------------');
END LOOP;
END;
另外,站长团上有产品团购,便宜有保证
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
您可能需要的服务
百度律临官方认证律师咨询
平均3分钟响应
|
问题解决率99%
|
24小时在线
立即免费咨询律师
11010人正在获得一对一解答
杭州雪花飘飘5分钟前提交了问题
郑州都市传说6分钟前提交了问题
西安夜猫子4分钟前提交了问题