编写pl/sql代码来计算7788和7782员工的工作年限
然后打印经验最老的员工的信息。
使用引用%rowtype编写代码。
使用适当的日期和数字函数来计算体验。
打印结果如下:
The Oldest Employee Is: CLARK
His Years of Experience: 38
这是我的答案不知道怎么了或者有什么问题
DECLARE
EmpInfo emp%ROWTYPE;
MaxEx number :=0;
EmployeeName emp.ename%TYPE;
ExNumber number;
cursor oldex is select * from emp where EMP.EMPNO = 7788 or EMP.EMPNO = 7782 ;
BEGIN OPEN oldex;
LOOP FETCH oldex into EmpInfo;
EXIT WHEN oldex%notfound;
ExNumber := (TO_NUMBER(TO_CHAR(SYSDATE,'YYYY')) - TO_NUMBER(TO_CHAR(EmpInfo.hiredate,'YYYY')));
if ExNumber > MaxEx then MaxEx := ExNumber;
EmployeeName := EmpInfo.ename;
END IF;
END LOOP;
dbms_output.put_line('The oldest employee is: '|| EmployeeName);
dbms_output.put_line('His year experiance is: '|| MaxEx);
CLOSE oldex;
END;
1条答案
按热度按时间nsc4cvqm1#
您没有看到结果,可能是因为您没有设置serveroutput。例子:
那根绳子去哪了?嗯,它在缓冲区中,您需要告诉您的sql客户机检查缓冲区中的内容并打印它。这样地:
将此用于块以查看输出。我让你来调试你的代码。