Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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¶Î¸ßˮλ(HWM, high water mark)ÎÊÌâ

Oracle¶Ô±í×öÈ«±íɨÃèµÄʱºò
£¬»áɨÃèÍêHWMÒÔÏÂ
µÄÊý¾Ý¿é¡£Èç¹ûij¸ö±ídelete(delete²Ù×÷²»»á½µµÍ¸ßˮλ)ÁË´óÁ¿Êý¾Ý£¬ÄÇôÕâʱ¶Ô±í×öÈ«±íɨÃè¾Í»á×öºÜ¶àÎÞÓù¦£¬É¨ÃèÁËÒ»´ó¶ÑÊý¾Ý¿é£¬×îºó·¢ÏÖ¿éÀïÃæ¾ÓȻûÓÐÊý¾Ý¡£
ͨ³££¬ÔÚ¶Ô±í×öÁË´óÅúÁ¿delete²Ù×÷Ö®ºó£¬¾ÍÓ¦¸ÃÂíÉϽµµÍ±íµÄ¸ßˮ룬¿ÉÒÔʹÓÃshrink ÃüÁî»òÕßalter&n ......

Oracle¹éµµ¹ÜÀí

     Oracle°ÑÌîÂúµÄÁª»úÈÕÖ¾Îļþ¸´ÖƵ½Ò»¸ö»òÕß¶à¸ö·¾¶£¬Õâ¸ö¹ý³Ì½Ð¹éµµ£¬ÕâÑùÉú³ÉµÄÎļþ½Ð¹éµµÈÕÖ¾Îļþ£¬´æ·ÅÈÕÖ¾ÎļþµÄ·¾¶½Ð¹éµµÂ·¾¶£¨¹éµµÄ¿Â¼£©¡£Ò»¸öÊý¾Ý¿â¿ÉÒÔÓжà¸ö¹éµµ½ø³Ì£¬Óɳõʼ»¯²ÎÊýLOG_ARCHIVE_MAX_PROCESSES)¿ØÖÆ¡£¹éµµÊDZ¸·ÝºÍ»Ö¸´µÄ»ùʯ¡£ÔÚOracleÖУ¬¼¸ºõËùÓеı¸·ÝºÍ»Ö¸´¶¼ÊÇÒѹ ......

oracleµ÷ÓÃjava

create or replace and compile java source named md5util as
import java.security.MessageDigest;
public class MD5Util
{
  public static String encrypt(String s)
  {
       char hexDigits[] = {'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', ......

Oracle Êý¾ÝÀàÐÍ·ÖÏí

¸øÍŶÓÄÚ²¿×öµÄÒ»¸öOracle Êý¾ÝÀàÐÍ·ÖÏí£¬Ö÷ÒªÊǹØÓÚOracleÊý¾ÝÀàÐÍһЩÄÚ²¿´æ´¢½á¹¹¼°ÐÔÄܽéÉÜ¡£
 http://www.slideshare.net/yzsind/oracle-4317768
ÒÔÏÂÊÇPPTÖÐunDumpNumberº¯ÊýµÄÈ«²¿´úÂ룺
 
create or replace function unDumpNumber(iDumpStr varchar2) return number is
 
  TYPE ByteAr ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ