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

带排序的oracle分页存储过程

create or replace package Pager
is
type curs is ref cursor;
procedure Pagination
(
inPageSize in integer, --每页记录数
inPageIndex in integer, --当前页数
inTableName in varchar2, --表名
inOrderField in varchar2,--排序字段
inIsOrderBy in varchar2,--排序类别,输入'  desc' 或者' asc'
inWhere in varchar2,--查询条件
outRecordCount out int, --总记录数
outPageCount out int,
outCursor out curs --游标变量
);
end;
create or replace package body Pager
is
procedure Pagination
(
inPageSize in integer, --每页记录数
inPageIndex in integer, --当前页数
inTableName in varchar2, --表名
inOrderField in varchar2,--排序字段
inIsOrderBy in varchar2,--排序类别,输入'  desc' 或者' asc'
inWhere in varchar2,--查询条件
outRecordCount out int, --总记录数
outPageCount out int,
outCursor out curs --游标变量
)
is
v_sql  varchar2(3000); --总的sql语句
v_sql_count varchar2(3000); --总记录的sql语句
v_sql_order varchar2(2000); --排序的sql语句
v_count int; -- --总记录数
v_endrownum int; --结束行
v_startrownum int; --开始行
begin
  if inOrderField!='NO' then
      v_sql_order :=' ORDER BY '|| inOrderField ||' '||inIsOrderBy;
  else
      v_sql_order :='';
  end if;
  if inWhere is not null then
    v_sql_count:='SELECT COUNT(ROWNUM) from '||inTableName||' where '||inWhere;
  else
      v_sql_count:='SELECT COUNT(ROWNUM) from '||inTableName;
  end if;
  execute immediate v_sql_count into v_count;
  outRecordCount := v_count;
  if mod(v_count,inPageSize)=0 then
     outPageCount:= v_count/inPageSize;
  else
     outPageCount:= v_count/inPageSize+1;
  end if;
 
  v_startrownum:= 1+(inPageIndex-1)*inPageSize;
  v_endrownum:= inPageIndex*inPageSize;
  
   if inWhere is not null then
   v_sql := 'SELECT * fro


相关文档:

ORACLE几个过滤条件的执行顺序

select distinct id
  from table t
 where rownum < 10
 order by t.id desc;
上述语句的过滤条件执行顺序 先where --->order by --->distinct
如果有group by的话 group by 在order by前面的 ......

oracle中的savepoints是什么

什么是savepoint?
Use the SAVEPOINT statement to identify a point in a transaction to which you can later roll back.
给你个例子 
SQL> create table test (id number(7)); 
表已创建。 
SQL> insert into test values (3); 
已创建 1 行。 
SQL> savepoint a; 
保存 ......

利用oracle审计功能来监控测试数据库的变化

利用oracle审计功能来监测试环境的变化
         做过测试的人都应该会碰到这样的情况:测试发现的bug在开发机器上没有出现,显然这是环境差异的原因。相当多情况下,因为测试使用的数据库结构和开发使用的数据库结构不一致造成的。尤其是一些公司在提交测试版本的时候,注重应用 ......

关于Oracle数据导入导出的一些操作

Oracle数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
 
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行, ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号