- 浏览: 269247 次
文章分类
最新评论
-
羽风之扬:
crazydayu 写道您好,我在启动的时候也遇到了这种错误, ...
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio -
羽风之扬:
我的也[是这用错误,改过后没效果。这是我的截图,麻烦帮我看下吧 ...
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio -
hamizhong:
...
Linux和Python脚本自动部署应用一例(2) -
crazydayu:
您好,我在启动的时候也遇到了这种错误,但是加上127.0.0. ...
linux tomcat日志错误Cannot run without an instance id & java.net.UnknownHostExceptio -
lg327969713:
wx_hello 写道你好,请教下,这个链接要配置ODBC数据 ...
Java连接FoxPro6.0数据库(测试)
环境(Oracle Database 10g Enterprise Edition Release 10.2.0.1.0)
工作中碰到如此问题,业务特殊需求,如何实现动态的行转换成动态的列,源数据如,
11行数据:
col
a
b
c
d
e
f
g
h
i
j
k
转成自定义的列表数据,如转成四列(变成了三行四列,四列可以做到动态设置):
col1 col2 col3 col4
a b c d
e f g h
i j k
针对Oracle 10g特殊管道函数pipe row(),这里提供一种实现方式,以资学习记录。
按照顺序创建SQL脚本、模拟数据。
---create custom object CREATE or replace TYPE unit_type AS OBJECT ( unit1 VARCHAR2(50) ,unit2 VARCHAR2(50) ,unit3 VARCHAR2(50) ,unit4 VARCHAR2(50) ); ---create table object by type Object CREATE TYPE unit AS TABLE OF unit_type; ---create table create table t_unit (unitname varchar2(50)); ---insert into data begin insert into t_unit (UNITNAME) values ('a'); insert into t_unit (UNITNAME) values ('b'); insert into t_unit (UNITNAME) values ('c'); insert into t_unit (UNITNAME) values ('d'); insert into t_unit (UNITNAME) values ('e'); insert into t_unit (UNITNAME) values ('f'); insert into t_unit (UNITNAME) values ('g'); insert into t_unit (UNITNAME) values ('h'); insert into t_unit (UNITNAME) values ('i'); insert into t_unit (UNITNAME) values ('j'); insert into t_unit (UNITNAME) values ('k'); insert into t_unit (UNITNAME) values ('l'); insert into t_unit (UNITNAME) values ('m'); insert into t_unit (UNITNAME) values ('n'); insert into t_unit (UNITNAME) values ('o'); insert into t_unit (UNITNAME) values ('p'); insert into t_unit (UNITNAME) values ('r'); insert into t_unit (UNITNAME) values ('s'); insert into t_unit (UNITNAME) values ('t'); insert into t_unit (UNITNAME) values ('u'); insert into t_unit (UNITNAME) values ('v'); insert into t_unit (UNITNAME) values ('w'); insert into t_unit (UNITNAME) values ('x'); insert into t_unit (UNITNAME) values ('y'); insert into t_unit (UNITNAME) values ('z'); insert into t_unit (UNITNAME) values ('q'); insert into t_unit (UNITNAME) values ('1'); insert into t_unit (UNITNAME) values ('2'); insert into t_unit (UNITNAME) values ('3'); insert into t_unit (UNITNAME) values ('4'); commit; end; ---check data select * from t_unit; ---create pipe function , important step create or replace function autolinefeed return unit PIPELINED as temp_str varchar2(32767):=''; temp_index number:=0; temp_count number:=0; temp_sum number:=0; temp_unit1 varchar2(50); temp_unit2 varchar2(50); temp_unit3 varchar2(50); temp_unit4 varchar2(50); begin select count(*) into temp_sum from t_unit; if temp_sum<=0 then pipe row(null); return; end if; for v_unit in (select * from t_unit) loop temp_count:=(temp_count+1); if (mod(temp_count,4)=1) then temp_unit1 :=v_unit.unitname; elsif (mod(temp_count,4)=2) then temp_unit2 :=v_unit.unitname; elsif (mod(temp_count,4)=3) then temp_unit3 :=v_unit.unitname; else temp_unit4 :=v_unit.unitname; end if; if (mod(temp_count,4)=0) then pipe row(unit_type(temp_unit1,temp_unit2,temp_unit3,temp_unit4)); else if (temp_sum=temp_count) then if (mod(temp_count,4)=1) then pipe row(unit_type(temp_unit1,'','','')); elsif (mod(temp_count,4)=2) then pipe row(unit_type(temp_unit1,temp_unit2,'','')); elsif (mod(temp_count,4)=3) then pipe row(unit_type(temp_unit1,temp_unit2,temp_unit3,'')); else pipe row(unit_type(temp_unit1,temp_unit2,temp_unit3,temp_unit4)); end if; end if; end if; end loop; exception when others then pipe row(null); end; --data effect SQL> select * from table(autolinefeed); UNIT1 UNIT2 UNIT3 UNIT4 ---------- ---------- ---------- ---------- a b c d e f g h i j k l m n o p r s t u v w x y z q 1 2 3 4 已选择8行。
图片效果:
发表评论
-
mongodb在Java环境下简单使用
2015-09-16 18:42 1254mongodb在Java环境下简单使用,简单记录,简单增删查 ... -
Redis在java中批量操作数据的更新
2014-12-20 21:39 3236背景:同事说Redis在插入数据时,同样存在插入速度慢,只 ... -
WindowXP与Window2003设置MYSQL主从备份
2014-09-16 10:24 885公司要求mysql备份机制,最近结合项目和网上学习资料,实现 ... -
mysql的collation区分大小写设置
2013-03-18 00:03 2697... -
Oracle 存储过程处理存储过程游标集
2013-02-05 10:34 795好久没有写任何东西了,今天补充随便写一点,刚好以前同事问到 ... -
DB2 嵌套动态游标存储过程_记录
2012-06-15 16:45 1838DB2(V9.7) 嵌套动态游标存储过程,已经学习使用DB2近 ... -
Oracle 10g Dynamic report column(eg)
2012-05-14 18:59 867今日(2012-05-14)在群信息里(Oracle ... -
获取指定日期间隔简易一例
2011-12-27 17:58 915今日(2011-12-27)一哥们(Oracle 10. ... -
Installing Oracle 9i on RedHat Linux 7.1, 7.2, 7.3, 8.0, 9, Red Hat Advanced Ser
2011-11-24 10:01 0Werner Puschitz Sr. AIX/Li ... -
数据库连续区间汇总(求和)一例,rownum伪列利用(原创)
2011-07-18 13:34 1535环境(Oracle Database 10g Ent ... -
oracle job使用详解及job不运行的检查方法(转载)
2011-02-14 10:11 1619oracle job使用 ... -
Oracle 字符集的查看和修改(转)
2011-01-28 12:46 955一、什么是Oracle字符集 Oracle字 ... -
EXP命令:参数、举例、注意事项、问题与解决
2010-05-12 11:09 0(http://space.itpub.net/2365085 ... -
oracle 物化视图(转载)
2010-04-13 23:20 0(http://www.blogjava.net/beauty ... -
Oracle SYS_CONTEXT Function
2010-03-15 21:19 1460Oracle SYS_CONTEXT Function Ver ... -
Rman学习笔记记录
2010-02-25 17:15 1771记录前段时间学习ORACLE10g (10.2.0 )RMA ... -
Oracle错误:ORA-00604处理
2009-11-11 17:40 4187ORACLE性能调优篇---Oracle错误:ORA-0060 ... -
oracle中表数据横向转纵向显示(再一题)
2009-09-25 17:22 0最近工作又碰到了在Oracle(10.2.0)使用数 ... -
ORACLE查询笔记(mysql)
2009-06-09 09:30 1543好记性当不得烂笔头,把工作、学习中一点东西作个笔记... ... -
ORACLE RMAN备份的脚本配置[转载]
2009-05-24 16:33 2108一: 备份; 1:连接目标数据库: rman rman& ...
相关推荐
1. 《Oracle8 优化技术》摘录 (第一章 安装) 2. 《Oracle8 优化技术》摘录 (第二章 内存-CPU) 3. 《Oracle8 优化技术》摘录 (第三章 输入-输出) 4. EXP、IMP 命令详解 5. Oracle Index 的三个问题 6. ...
Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以Oracle最新版本Oracle 11g为蓝本,系统地讲述了Oracle数据库的概念、管理和应用开发等内容。 全书结构合理、内容翔实、示例丰富...
Oracle 数据库中的SQL是当今市场上功能最强大的SQL实现之一,而本书全面展示了这一工具的威力。如何才能让更多人有效地学习和掌握SQL呢?Karen Morton及其团队在本书中提供了专业的方案:先掌握语言特性,再学习...
6.10 用 Oracle 复制实现失败切换 6.10.1 基本复制 6.10.2 基本复制失败切换的优点 6.10.3 基本复制失败切换的缺点 6.11 将高级复制用于失败切换 6.11.1 高级复制失败切换的优点 6.11.2 高级复制失败切换的...
Oracle数据库系统是数据库领域最优秀的数据库之一,《Oracle11g从入门到精通》以Oracle最新版本Oracle 11g为蓝本,系统地讲述了Oracle数据库的概念、管理和应用开发等内容。 全书结构合理、内容翔实、示例丰富...
1. 层次结构模型: 层次结构模型实质上是一种有根结点的定向有序树,IMS(Information Manage-mentSystem)是其典型代表。 2. 网状结构模型:按照网状数据结构建立的数据库系统称为网状数据库系统,其典型代表是DBTG...
ORACLE的优化器共有3种: a. RULE (基于规则) b. COST (基于成本) c. CHOOSE (选择性) 设置缺省的优化器,可以通过对init.ora文件中OPTIMIZER_MODE参数的各种声明,如RULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . 你...
系统权限提供了在Oracle数据库系统范围内执行某种任务的操作能力,而对象权限则是一种赋予用户在指定的数据库对象(如表、视图、过程等) 16. Oralce数据库在进行物理备份有联机备份和脱机备份两种方式可供选择。 ...
赤兔Oracle数据库恢复软件是一款专业好用的Oracle数据库抢修恢复软件。软件功能强大,持修复因各种原因造成的数据库无法打开或数据库删除后没有备份的问题,从而实现对Oracle数据库的抢修恢复,最大限度减少数据丢失...
(2)一个 FOR EACH ROW 执行指定操作的触发器为操作修改的每一行都调用一次。 (3)SELECT 并不更改任何行,因此不能创建 SELECT 触发器。这种场合下规则和视图更适合。 (4)触发器和某一指定的表格有关,当该表格...
作 者:钱慎一,张素智 编 出 版 社:中国水利水电出版社 ISBN:9787508468303 出版时间:2009-09-01 版 次:1 页 数:468 装 帧:平装 开 本:16开 所属分类:图书 > 计算机与互联网 > 数据库 目录 前言 ...
作 者:钱慎一,张素智 编 出 版 社:中国水利水电出版社 ISBN:9787508468303 出版时间:2009-09-01 版 次:1 页 数:468 装 帧:平装 开 本:16开 所属分类:图书 > 计算机与互联网 > 数据库 目录 前言 ...
Oracle语句优化53个规则详解(1) Oracle sql 性能优化调整 1. 选用适合的ORACLE优化器 ... 这里需要注明的是,ORACLE对两者采取的是一种严格匹配,要达成共享,SQL语句必须完全相同(包括空格,换行等)。
一、ORACLE的启动和关闭 1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 oracle>svrmgrl SVRMGR>connect internal SVRMGR>startup SVRMGR>quit b、关闭...
还在为日常数据处理分析,从查询结果中,求出可自定任意选择行及数字型字段数据求合,而手工一行行、一列列累加求和吗? 还在为某种数据不同类别所占总数比例及各多少?而手工累加一一计算吗?本系统使用了ABC方法...
Direct Oracle Access 组件有两种版本,Direct Oracle Access Standard version 和 Direct Oracle Access Object version Object版允许你通过TOracleObject和TOracleReference 对象使用 Oracle8的对象扩展。 如果...