易截截图软件、单文件、免安装、纯绿色、仅160KB

Oracle的一个字符串数据变为多行记录

--把p_string的值动态切分为表的行数据
create or replace type split_rec as object (
       id varchar2(50),
       userId varchar2(32767)
     );
create or replace type split_tbl as table of split_rec;
CREATE OR REPLACE FUNCTION splitstr(id in varchar2,p_string IN VARCHAR2, p_delimiter IN VARCHAR2 := ',')
    RETURN split_tbl PIPELINED
AS
    v_length   NUMBER := LENGTH(p_string);
    v_start    NUMBER := 1;
    v_index    NUMBER;
    v_rec      split_rec;
BEGIN
    v_rec := split_rec(id,'');
    WHILE(v_start <= v_length)
    LOOP
        v_index    := INSTR(p_string, p_delimiter, v_start);
        IF v_index = 0
        THEN
            v_rec.userId:=SUBSTR(p_string, v_start);
            v_start    := v_length + 1;
        ELSE
            v_rec.userId:=SUBSTR(p_string, v_start, v_index - v_start);
            v_start    := v_index + 1;
        END IF;
       
        PIPE ROW(v_rec);
    END LOOP;
    RETURN;
END splitstr;
--以下是测试SQL。
select x.*,u.name
from user u,
  (
    select r.*,x.userId
    from item r
         join table(splitstr(r.id,nvl(r.acol,r.


相关文档:

[Oracle]高效的PL/SQL程序设计(二)

本系列文章导航
[Oracle]高效的PL/SQL程序设计(一)--伪列ROWNUM使用技巧
[Oracle]高效的PL/SQL程序设计(二)--标量子查询
[Oracle]高效的PL/SQL程序设计(三)--Package的优点
[Oracle]高效的PL/SQL程序设计(四)--批量处理
[Oracle]高效的PL/SQL程序设计(五)--调用存储过程返回结果集
[Oracle]高效的PL/SQL程序设计(六)- ......

ORACLE sql语句笔记

windows上存在32bit的限制,如AIX、HP UNIX 等有明确的64BIT OS and ORACLE的版本,32bit oracle可以装在64bit os 上,64 bit oracle不能装在32 bit OS上
oracle是64bit or 32 bit,32bit 通常 SGA有 1.7G 的限制(某些OS的处理或者WINDOWS上有特定设定可以支持到2G以上甚至达到3.7G
如何查出前台正在发出的sql语句:
sele ......

java jdbc 连接Oracle9i

     自己在做这个程序的时候看过很多的资料,上网也查了不少的资料,可是多半说的是出神入化,云里雾里...不光看了不明白,而且是有明白一点的人,看了也变的有些模糊了。
     这里我掩饰一套完整的java jdbc 连接Oracle9i的范例。
package com.lxh.dbcon;//打包
import ......

SQLServer和Oracle常用函数对比


数学函数
在oracle 中distinct关键字可以显示相同记录只显示一条
  1.绝对值
  S:select abs(-1) value
  O:select abs(-1) value from dual
  2.取整(大)
  S:select ceiling(-1.001) value
  O:select ceil(-1.001) value from dual
  3.取整(小)
  S:select floor(-1.001) value ......

oracle与sqlserver执行count(*)返回的结果兼容

由于以前都是在sqlserver 2005处理,现在客户要求oracle数据库服务器,
最初的代码为:
allRecordSize = (Integer) rs1.getObject(1);    //Integer allRecordSize=0;
当执行的时候报:BigDecimal无法转化为Integer类型
为了兼容两者修改后的代码为:
  Object o = rs1.getObject(1);
 &nbs ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号