易截截图软件、单文件、免安装、纯绿色、仅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多行记录合并/连接/聚合字符串的几种方法

什么是合并多行字符串(连接字符串)呢,例如:
SQL> desc test;
Name     Type          Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y       &nb ......

SQL Server、Oracle和MySQL中查出值为NULL的替换

SOURCE: CLICK HERE
本文讲述SQL Server、Oracle、MySQL查出值为NULL的替换。
在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办?
1、MSSQL: ISNULL()
语法
ISNULL ( check_expression , replacement_value )
参数
check_expression
将被检查是否为 NULL的表达式。check_expression 可以是任何类型的。
re ......

Oracle审计功能

Oracle审计功能
一、    审计分类:
Oracle中审计总体上可分为“标准审计”和“细粒度审计”后者也称为“基于政策的审计”,在Oracle10G之后功能得到很大增强。其中标准审计可分为用户级审计和系统级审计。用户级审计是任何Oracle用户可设置的审计,主要是用户针对自己创建 ......

启动oracle 郭耀今

用sqlplus启动数据库
sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> startup
用sqlplus停止数据库$ORACLE_HOME/bin/sqlplus /nolog
SQL> connect system/change_on_install as sysdba
SQL> shutdown ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号