Ò׽ؽØÍ¼Èí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö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 DBA ±ÊÊÔÌâ

author£ºskate
time£º2010-05-26
Oracle DBA ±ÊÊÔÌâ
£¨´ðÌâʱ¼ä60·ÖÖÓ£©
ÍøÉÏ¿´¼ûһƪDBAµÄÃæÊÔÌ⣬¾õµÃͦʵÓõ쬶ø²»ÏñÓеÄÃæÊÔŪµÃºÜÐ飬ºÜÀíÏ뻯¡£
Unix/Linux퉀1¡¢ÈçºÎ²é¿´Ö÷»úcpu£¬ÄÚ´æ¡¢IPºÍ´ÅÅ̿ռä?
2¡¢Äã³£ÓõĽø³Ì¹ÜÀí¡¢Ö÷»úÐÔÄܲ쿴ÃüÁîÓÐÄÄЩ£¿
3¡¢½¨Á¢×édbaºÍ¸Ã×éÏÂÓû§oracle£¬Ä¬ÈÏshellΪbash¡£ ......

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

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

¹ØÓÚOracleÊý¾Ýµ¼Èëµ¼³öµÄһЩ²Ù×÷

OracleÊý¾Ýµ¼Èëµ¼³öimp/exp¾ÍÏ൱ÓÚoracleÊý¾Ý»¹Ô­Ó뱸·Ý¡£expÃüÁî¿ÉÒÔ°ÑÊý¾Ý´ÓÔ¶³ÌÊý¾Ý¿â·þÎñÆ÷µ¼³öµ½±¾µØµÄdmpÎļþ£¬impÃüÁî¿ÉÒÔ°ÑdmpÎļþ´Ó±¾µØµ¼Èëµ½Ô¶´¦µÄÊý¾Ý¿â·þÎñÆ÷ÖС£ ÀûÓÃÕâ¸ö¹¦ÄÜ¿ÉÒÔ¹¹½¨Á½¸öÏàͬµÄÊý¾Ý¿â£¬Ò»¸öÓÃÀ´²âÊÔ£¬Ò»¸öÓÃÀ´ÕýʽʹÓá£
 
Ö´Ðл·¾³£º¿ÉÒÔÔÚSQLPLUS.EXE»òÕßDOS£¨ÃüÁîÐУ©ÖÐÖ´ÐУ¬ ......

oracle µ¼Èë

sqlldrÏê½â
 
Oracle µÄSQL*LOADER¿ÉÒÔ½«ÍⲿÊý¾Ý¼ÓÔØµ½Êý¾Ý¿â±íÖС£ÏÂÃæÊÇSQL*LOADERµÄ»ù±¾Ìص㣺
1£©ÄÜ×°È벻ͬÊý¾ÝÀàÐÍÎļþ¼°¶à¸öÊý¾ÝÎļþµÄÊý¾Ý
2£©¿É×°Èë¹Ì¶¨¸ñʽ£¬×ÔÓɶ¨½çÒÔ¼°¿É¶È³¤¸ñʽµÄÊý¾Ý
3£©¿ÉÒÔ×°Èë¶þ½øÖÆ£¬Ñ¹ËõÊ®½øÖÆÊý¾Ý
4£©Ò»´Î¿É¶Ô¶à¸ö±í×°ÈëÊý¾Ý
5£©Á¬½Ó¶à¸öÎïÀí¼Ç¼װµ½Ò»¸ö¼Ç¼ÖÐ
6£©¶ÔÒ ......

Oracle select in/exists/not in/not exits

in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ­»·£¬Ã¿´ÎloopÑ­»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔÀ´ÈÏΪexists±ÈinЧÂʸߵÄ˵·¨ÊDz»×¼È·µÄ¡£
Èç¹û²éѯµÄÁ½¸ö±í´óСÏ൱£¬ÄÇôÓÃinºÍexists²î±ð²»´ó¡£
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ­»·£¬Ã¿´ÎloopÑ­»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØÍ¼ | ¸ÓICP±¸09004571ºÅ