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
相关文档:
作者 Haidong Ji 翻译 GoodKid
我们当中的大部分人工作在一个单一的 RDBMS 系统中,如 MSSQL, Oracle, or IBM DB2。然而,我们日益感觉到,我们正处于不同的数据库环境当中并且需要解决数据的互用性问题。
尽管主要的 RDBMS 厂商试图去遵循关系数据库模型原理,并且用非常小的差异去实现它们。另外,几乎主要的 ......
问题1: 进入时需要主机身份证明: 解决方案:管理工具——本地安全策略——用户权利指派——作为批处理作业等录(最后一项)——添加本机的账号与密码 ......
oracle变量类型
标量类型
varchar2(n) 用于定义可变长度的字符串 n用于指定字符串的最大长度 其最大值为32767字节 必须指定n
char(n) 用于定义固定长度的字符串 其中n用于指定字符串的最大长度,其最大值为32767 如果不指定n 默认是1
number(p,s)该数据类型用于定义固定长度的整数和浮点 ......
简单描述一下在windows的同一用户下,安装Oracle的9i、10g和11g的方法。
Oracle在windows平台下的安装是所有平台中最简单的,基本上不需要进行任何额外的处理就可以成功的安装,可以说没有什么技术含量。
不过在同一台机器的同一个用户上同时安装两个不同版本的数据库就需要一定的技巧了。这里简单描述一下在同时 ......
首先来复习一下行级锁的机制。当一个事务开始时必选先申请一个TX锁(保护回滚段、回滚数据块),只有先申请到回滚段资源后才能开始一个事务,才能进行DML操作。这个动作完成后,事务就可以开始修改数据了。当修改数据表的记录时,遵循以下的操作顺序。
1.获得表的TM锁(保护事务执行过程中其它用户不能修改表结构)
2.在 ......