oracle中pl/sql 练习题----输入部门编号,在控制台打印这个部门的名称,总人数,平均工资(基本工资+奖金)

一、 思路:声明record类型的变量,根据 多表联合查询查出想要的数据,最后输出。

二、注意:record类型不一定只是一个表中的数据,也可以声明不同表中的数据类型。

三、语句如下:

 1 declare
 2 -- 声明record类型
 3 type emp_record_type is record(
 4 deptno emp.deptno%type,
 5 dname dept.dname%type,
 6 count emp.sal%type,
 7 avg emp.sal%type
 8 );
 9 
10 -- 声明record类型的变量
11 v_emp emp_record_type;
12 begin
13   
14 -- 查询数据,给变量赋值
15 select e.deptno,d.dname,count(e.ename) as count1,avg(sal+nvl(comm,0))  into v_emp from
16  emp e inner join dept d on d.deptno=e.deptno where e.deptno=&no group by e.deptno,d.dname;
17 --select ename,sal,sal+nvl(comm,0) into v_emp from emp where empno=&no;
18 -- 输入record类型变量中的数据
19 dbms_output.put_line('部门编号:'||v_emp.deptno||',部门名称:'||v_emp.dname||',总人数:'||v_emp.count||',平均工资:'||v_emp.avg);
20 end;
原文地址:https://www.cnblogs.com/yanpingping/p/10828726.html