好像没有,还是写CURSOR循环吧?
解决方案 »
- win8 pro x64位装oracle10gx64位问题
- oracle字符集问题
- 关于连接oracle报错ORA-12500的问题
- 问一下简单的操作,各位大侠务必帮忙哦!!关于oracle帐号问题?
- 同义词的问题
- 很菜的问题,刚学Oracle遇到问题求助~!
- 这个触发器要怎么写???
- Oracle 支持的SQL中 用什么函数据把字符串转换成整型???
- 安装问题:9i Release2那位安装成功了,请帮个忙找个小文件
- 为何提示:ORA-12545: Connect failed because target host or object does not exist
- 如何跨两个Oracle数据库查询有相同结构的表
- oracle9i安装问题---怪异-高分求救
JOB ENAME
--------- ----------
CLERK SMITH
SALESMAN ALLEN
SALESMAN WARD
MANAGER JONES
SALESMAN MARTIN
MANAGER BLAKE
MANAGER CLARK
ANALYST SCOTT
PRESIDENT KING
SALESMAN TURNER
CLERK ADAMS
JOB ENAME
--------- ----------
CLERK JAMES
ANALYST FORD
CLERK MILLER
已选择14行。
SQL > create or replace function f_ename(jobno in varchar2)
2 return varchar2 is
3
4 str_return varchar2(200);
5 cursor c_ename(v_jobno varchar2) is select ename from emp where job=v_jobno;
6 begin
7 for str_temp in c_ename(jobno) loop
8 str_return:=str_return | |str_temp.ename;
9 end loop;
10 return str_return;
11 end;
12 /
函数已创建。
SQL > select f_ename(job) from (
2 select distinct job from emp);
F_ENAME(JOB)
---------------------------------------
SCOTT FORD
SMITH ADAMS JAMES MILLER
JONES BLAKE CLARK
KING
ALLEN WARD MARTIN TURNER
SQL >
加上job列:
SQL > select job,f_ename(job) from (
2 select distinct job from emp);
JOB F_ENAME(JOB)
-------------------------------------------------------
ANALYST SCOTT FORD
CLERK SMITH ADAMS JAMES MILLER
MANAGER JONES BLAKE CLARK
PRESIDENT KING
SALESMAN ALLEN WARD MARTIN TURNER