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

Oracle存储过程分页

转载
from: http://cid-4e5d038451e31a25.spaces.live.com/blog/cns!4E5D038451E31A25!140.entry
create or replace procedure P_QuerySplit(
      sqlscript varchar2,     --表名/SQL语句
      pageSize integer,       --每页记录数
      pageIndex integer,      --当前页
      totalCount out number, --总记录数
      totalPage out number, --总页数
      v_cur out sys_refcursor --返回游标
      ) is
/**
   * by chenjianxin 2008-5-3
   *
   */     
v_PageSize number;
v_PageIndex number;
v_SQL_Count varchar2(4000);
v_SQL varchar2(4000);
v_StartIndex number;
v_EndIndex number;
begin
v_PageSize:=pageSize;
if v_PageSize=0 then
    v_PageSize:=1;
end if;
--统计记录数量
v_SQL_Count := 'select count(*) from ('|| sqlscript ||') a ';
execute immediate v_SQL_Count into totalCount;
--计算总页数
totalPage:=CEIL(totalCount/v_PageSize);
--验证页号 如果页号大余了最大页数,返回最后一页
v_PageIndex:=pageIndex;
if v_PageIndex>totalPage then
    v_PageIndex:=totalPage;
end if;
--计算开始的Index和结束的Index
v_StartIndex:=(v_PageIndex-1)*v_PageSize+1;
v_EndIndex:=v_PageIndex*v_PageSize;
v_SQL:='SELECT /*+ FIRST_ROWS */* from (';
v_SQL:=v_SQL||' SELECT A.*, ROWNUM RN ';
v_SQL:=v_SQL||' from ('||sqlscript||') A ';
v_SQL:=v_SQL||' WHERE ROWNUM <= '||v_EndIndex;
v_SQL:=v_SQL||')WHERE RN >= '||v_StartIndex;
open v_cur for v_SQL;
end P_QuerySplit;
java代码: 
public List listSplit(StringBuffer sbSQL,SplitPageInfo splitPageInfo)throws Exception{
      try {
          java.sql.CallableStatement proc = this.con.prepareCall(
    &n


相关文档:

Oracle INTERVAL DAY TO SECOND数据类型

INTERVAL DAY TO SECOND数据类型
Oracle语法:
INTERVAL '{ integer | integer time_expr | time_expr }'
{ { DAY | HOUR | MINUTE } [ ( leading_precision ) ]
| SECOND [ ( leading_precision [, fractional_seconds_precision ] ) ] }
[ TO { DAY | HOUR | MINUTE | SECOND [ (fractional_seconds_precision) ] } ......

oracle 数据库里查看表空间施用情况

 oracle 数据库里查看表空间施用景况;
oracle表空间的事儿情况要常常查看,正常闲空比率过低的时分就应该思考增大表看空间了。查看步骤如次SQL:
步骤1:
select dbf.tablespace_name,
dbf.totalspace "总量(M)",
dbf.totalblocks as 总块数,
dfs.freespace "余下总量(M)",
dfs.freeblocks "余下块数",
(dfs.f ......

关于oracle死锁

 如果仅仅是lock,以下语句可以发现所有用户锁  :
SELECT s.username,
       decode(l.type, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,
       o.owner,
       o.object_name,
 &n ......

ORACLE中如何查找特定对象中的文本内容~

SQL> select dbms_metadata.get_ddl('PROCEDURE','PRO2','SCOTT') text from dual;
TEXT
----------------------------------------
CREATE OR REPLACE PROCEDURE "SCOTT"."P
RO2"
is
begin
dbms_output.put_line('wangpeng up');
end;
SQL> select dbms_metadata.get_ddl('PROCEDURE','PRO1','SCOTT') te ......

oracle单行函数

单行函数:
函数类别:
    单行:返回单个结果:substr,length
    多行:返回多个结果,any,all
单行的分类:
    字符类,日期类,数字类,转换类,通用类
1.字符类
转换大小写:
lower:转换为小写
Select ENAME,LOWER(ENAME) from EMP
upper:转换为大写
Select upper( ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号