用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
sql语句我会写,我想要的是创建存储过程的具体语句。
很简单的例子(也可以不带参数): 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; /
在sqlplus中还需要执行 set serverout on这样 DBMS_OUTPUT.PUT_LINE(col1); 才能显示出来
你可以创建一个存储过程,这个存储过程的返回参数是个cursor,可以把结果返回出来
我的意思是问在ORACLE中是不是可以像SQL SERVER那样,在PB中创建一个数据窗口。 即使用:select * from 表名这样的语句,将所有内容显示出来。
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
很简单的例子(也可以不带参数):
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;
/
set serverout on这样 DBMS_OUTPUT.PUT_LINE(col1);
才能显示出来
即使用:select * from 表名这样的语句,将所有内容显示出来。