oracle列转行方法总结
方法一:
----------------------------------------------------------------
---Muti-row to line(col2row)
----------------------------------------------------------------
create or replace type str_tab is table of varchar2(20);
/
grant all on str_tab to public;
create public synonym str_tab for str_tab;
create or replace function col2row(pv in str_tab) return varchar2
is
ls varchar2(4000);
begin
for i in 1..pv.count loop
ls := ls || pv(i);
end loop;
return ls;
end;
/
grant execute on col2row to public;
create public synonym col2row for col2row;
----------------------------------------------------------------
--multi column,convert one column base on another column, for example
----------------------------------------------------------------
create table t(id number,name varchar2(10));
insert into t values(1,'Joan');
insert into t values(1,'Jack');
insert into t values(1,'Tom');
insert into t values(2,'Rose');
insert into t values(2,'Jenny');
---------------------------------------------------------------
SQL(c3dev)>select * from t;
ID NAME
---------- ----------
1 Joan
1 Jack
1 Tom
2 Rose
2 Jenny
---------------------------
--column to row
---------------------------
SQL(c3dev)>column names format a80;
SQL(c3dev)>set line 120
SQL(c3dev)>select t0.id,
2 col2row(cast(multiset(select name from t where t.id = t0.id) as str_tab)) names
3 from (select distinct id from t) t0;
ID NAMES
---------- --------------------------------------------------------------------------------
&nbs
相关文档:
oracle表空间操作详解
1
2
3作者: 来源: 更新日期:2006-01-04
5
6
7建立表空间
8
9CREATE TABLESPACE data01
10DATAFILE '/ora ......
问题1: 进入时需要主机身份证明: 解决方案:管理工具——本地安全策略——用户权利指派——作为批处理作业等录(最后一项)——添加本机的账号与密码 ......
PB自带的REPLACE语句用着总有些不习惯。今天同事在做数据迁移中,用到替换功能,根据不同的登录用户,选择该用户下的表。所以,我就用ORACLE的函数来实现它。其实挺简单的,就是一个PB动态SQL语句的例子而已。下面是个例子,SQL语句自已拼装好。注意拼装的SQL语句末尾不要习惯的加“; ......
以下是在后台更新易拓ERP数据库时遇到的一个问题:
1.在DB14数据库中将料件号P44开头,并且品名为"塑料袋"的料件改为消耗性料件.
这个简单: UPDATE DB14.ima_file SET ima70 = ‘Y’ WHERE ima01 like ‘P44%’ AND ima0 ......
1. 检查Oracle的进程
$ ps -ef|grep "ora_"|grep -v grep
oracle 5998 1 0 11:15:59 ? 0:01 ora_j000_PPRD10
oracle 2968 1  ......