有表:
SQL> SELECT deptno, ename FROM emp ORDER BY deptno, ename;
DEPTNO ENAME
------ ----------
10 CLARK
10 KING
10 MILLER
20 ADAMS
20 FORD
20 JONES
20 SCOTT
20 SMITH
30 ALLEN
30 BLAKE
30 JAMES
30 MARTIN
30 TURNER
30 WARD
14 rows selected.
想输出为:
DEPTNO ENAME
------ ----------
10 CLARK, KING, MILLER
20 ADAMS, FORD, JONES, SCOTT, SMITH
30 ALLEN, BLAKE, JAMES, MARTIN, TURNER, WARD
除了使用聚集函数或者存储过程之外,9i中可以:
SQL> SELECT deptno
2 , LTRIM(MAX(SYS_CONNECT_BY_PATH(ename,','))
3 KEEP (DENSE_RANK LAST ORDER BY curr),',') AS concatenated
4 FROM ( SELECT deptno
5 , ename
6 , ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY ename) AS curr
7 , ROW_NUMBER() OVER (PARTITION BY deptno ORDER BY ename) -1 AS prev
8 FROM emp )
9 GROUP BY deptno
10 CONNECT BY prev = PRIOR curr AND deptno = PRIOR deptno
11 START WITH curr = 1;
DEPTNO CONCATENATED
10 CLARK,KING,MILLER
20 ADAMS,FORD,JONES,SCOTT,SMITH
30 ALLEN,BLAKE,JAMES,MARTIN,TURNER,WARD
分享到:
相关推荐
在 Oracle 9i 中,SYS_CONNECT_BY_PATH 函数可以用来显示整个路径,从最高级到当前行的内容。例如: ```sql SELECT SYS_CONNECT_BY_PATH(column_name, '/') "PATH" FROM table_name START WITH initial-condition ...
自Oracle 9i版本开始,`SYS_CONNECT_BY_PATH`函数被引入,用于追踪从根节点到当前行的完整路径。在SQL1.3中,这个函数将每个地区的完整路径以斜线分隔的形式返回。例如,路径`/Asia/China/Beijing`表示从亚洲开始,...
Oracle 9i是一款历史悠久的关系型数据库管理系统,它在2001年首次发布,提供了许多先进的功能和技术。本文将详细讲解如何安装Oracle 9i,以及如何连接到Oracle 9和10版本的数据库。 首先,Oracle 9i的安装过程可以...
- 使用`sys_connect_by_path()`函数将`course`列中的所有值连接起来,默认分隔符为`*`。 - 通过`SUBSTR(sys_connect_by_path(course, '*'), 2)`去除第一个星号。 - 使用`REPLACE()`函数将剩余的星号替换为分号`;`...
Oracle9i是一款经典的数据库管理系统,尤其在Windows平台上广泛使用。本安装手册将引导你逐步完成在Windows操作系统上安装Oracle9i的全过程,确保你能够顺利搭建数据库环境。 **一、系统需求** 在开始安装之前,...
总的来说,Oracle SQL提供了丰富的层次查询和数据清理工具,如SYS_CONNECT_BY_PATH、CONNECT_BY_ISLEAF、CONNECT_BY_ROOT和CONNECT_BY_ISCYCLE等,使得在处理层次结构数据和大量数据清理时更为便捷高效。同时,理解...
Oracle9i是Oracle公司发布的一款重要的数据库管理系统版本,在企业级应用中有着广泛的应用场景。由于Oracle9i版本发布时间较早(2000年左右),在那个时代,手动建立数据库是一项必备技能。随着技术的发展,尽管现在...
需要注意的是,这个语句只能用于 Oracle 9i 及其后续版本中,因为 SYS_CONNECT_BY_PATH 函数是在 Oracle 9i 中引入的。 使用 SYS_CONNECT_BY_PATH 函数可以轻松地取得一个表的所有字段名用逗号分割,这种方法可以...
- `svrmgrl> connect internal/oracle`: 使用内部模式连接到 Oracle 实例。 - `shutdown immediate`: 立即关闭数据库,确保所有用户都已断开连接。 - `shutdown abort`: 强制关闭数据库实例,这种模式可能导致...
(ORACLE_HOME=path_to_oracle_home) -- 替换为你的Oracle安装路径 (SID_NAME=your_sid) -- 替换为你的SID名称 ) ``` 2. **配置客户端`sqlnet.ora`文件:** - 在客户端的`sqlnet.ora`文件中,确保包含以下行: ...
然而,复杂的POSTINSTALL配置通常需要在DOS环境下通过命令行工具完成,例如使用`sdesetupora9i`(根据所用Oracle版本调整)来配置sde用户,或使用`sdeservice`来创建SDE服务。 具体命令格式如下: - 配置sde用户:`...
connect target sys/password rcv run{ allocate channel c1 type disk; allocate channel c2 type disk; allocate channel c3 type disk; backup fileaperset 3 format '/u01/oradata/backup/arch%u_%s_%p' ...