select b.d_id,max(a.salary) from emp a,dept b
where a.dept_id = b.d_id
group by b.d_id

解决方案 »

  1.   

    用sql语句可搞掂:
    select * from (select id,NAME,DEPT_ID,(select D_NAME from 部门表 where D_ID=DEPT_ID) D_NAME,dense_rank() over(partition by DEPT_ID order by SALARY desc) dr,SALARY 
    from 员工表) where dr=1 order by DEPT_ID,SALARY desc
      

  2.   

    sql语句我会写,我想要的是创建存储过程的具体语句。
      

  3.   


    很简单的例子(也可以不带参数):
    CREATE OR REPLACE PROCEDURE Procdemo(col1 IN varchar2,col2 out varchar2 ) AS
      v_String1   VARCHAR2(50) := 'Hello World!';
    BEGIN
      col2 := col1||'is col2';
      DBMS_OUTPUT.PUT_LINE(col1);
    END Procdemo;
    /
      

  4.   

    在sqlplus中还需要执行
    set serverout on这样 DBMS_OUTPUT.PUT_LINE(col1);
    才能显示出来
      

  5.   

    你可以创建一个存储过程,这个存储过程的返回参数是个cursor,可以把结果返回出来
      

  6.   

    我的意思是问在ORACLE中是不是可以像SQL SERVER那样,在PB中创建一个数据窗口。
    即使用:select * from 表名这样的语句,将所有内容显示出来。