将各个职位前3位的职员的姓名,工资,成绩,名次存到一个数据表GOOD中
(1)、程序代码:
(2)、查询执行结果
   用到的是oracle中的scott用户下的emp表,用游标解决

解决方案 »

  1.   

    Create or replace procedure p_showinfo
    As
    V_sql varchar2(300);
    V_name emp.姓名%type;
    V_salary emp.工资%type;
    V_score emp.成绩%type;
    V_rank emp.名次%type;
    V_position emp.职位%type;
    Declare 
    Begin
     Course cour as 
     Select distinct 职位 from emp;
     For v_position in cour loop
     Select 姓名 into v_name,工资 into v_salary,成绩 into v_score,名次 into v_rank from   emp where 职位=v_position and rownum<4;
     v_sql :=’insert into good values(v_name,v_salary,v_score,v_rank)’;
     execute  immediate v_sql;
     End loop;
    End;
    我没有按照oracle中emp表的字段写,我对oracle一点都不熟,对sql也不熟悉
      

  2.   

    前3位的职员的姓名,工资,成绩,名次???
    EMP表只有姓名,工资.成绩是什么含义?名次是指按工资排第几?
      

  3.   

    如果知道sql的话,这个存储过程是很简单的!