´øÅÅÐòµÄ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
Ïà¹ØÎĵµ£º
ʲôÊǺϲ¢¶àÐÐ×Ö·û´®£¨Á¬½Ó×Ö·û´®£©ÄØ£¬ÀýÈ磺
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y &nb ......
Oracle°ÑÌîÂúµÄÁª»úÈÕÖ¾Îļþ¸´ÖƵ½Ò»¸ö»òÕß¶à¸ö·¾¶£¬Õâ¸ö¹ý³Ì½Ð¹éµµ£¬ÕâÑùÉú³ÉµÄÎļþ½Ð¹éµµÈÕÖ¾Îļþ£¬´æ·ÅÈÕÖ¾ÎļþµÄ·¾¶½Ð¹éµµÂ·¾¶£¨¹éµµÄ¿Â¼£©¡£Ò»¸öÊý¾Ý¿â¿ÉÒÔÓжà¸ö¹éµµ½ø³Ì£¬Óɳõʼ»¯²ÎÊýLOG_ARCHIVE_MAX_PROCESSES)¿ØÖÆ¡£¹éµµÊDZ¸·ÝºÍ»Ö¸´µÄ»ùʯ¡£ÔÚOracleÖУ¬¼¸ºõËùÓеı¸·ÝºÍ»Ö¸´¶¼ÊÇÒѹ ......
Õâ¶Îʱ¼äΪ¹«Ë¾ÄÚ²¿µÄÊý¾Ý´¦Àí¿ª·¢ÁËÒ»¸ö¹¤¾ß£¬Ç£Éæµ½ÔÚOracleÖм¯³ÉjavaÓ¦Óã¬×ܽáÁËһЩ¾Ñ飬ÒÔ¹©´ó¼Ò²Î¿¼ÁË£¡
³ÌÐò·ÖÁ½²¿·Ö£¬Ç°¶Ë½çÃæÓÉVB/VC¿ª·¢£¬Ö÷ҪʵÏÖÊý¾Ý´¦ÀíÅäÖü°³£¹æ¼Ç¼ÔËË㣬Õⲿ·ÖûÓÐʲôºÃ˵µÄÁË¡£
ºǫ́ÒÔOracleΪÊý¾Ý»ù´¡´¦ÀíÍÐ¹ÜÆ½Ì¨£¬ÔÚÊý¾Ý´¦Àí¹ý³ÌÖУ¬ÐèÒª¶ÔһЩÃû³Æ¡¢µØÖ·Ê²Ã´µÄ½øÐÐÕªÒªÌáÈ¡¡¢² ......
OracleÉ󼯹¦ÄÜ
Ò»¡¢ É󼯷ÖÀࣺ
OracleÖÐÉó¼Æ×ÜÌåÉϿɷÖΪ“±ê×¼É󼯔ºÍ“ϸÁ£¶ÈÉ󼯔ºóÕßÒ²³ÆÎª“»ùÓÚÕþ²ßµÄÉ󼯔£¬ÔÚOracle10GÖ®ºó¹¦Äܵõ½ºÜ´óÔöÇ¿¡£ÆäÖбê×¼Éó¼Æ¿É·ÖΪÓû§¼¶Éó¼ÆºÍϵͳ¼¶É󼯡£Óû§¼¶Éó¼ÆÊÇÈκÎOracleÓû§¿ÉÉèÖõÄÉ󼯣¬Ö÷ÒªÊÇÓû§Õë¶Ô×Ô¼º´´½¨ ......
1. trigger ÊÇ×Ô¶¯Ìá½»µÄ£¬²»ÓÃCOMMIT£¬ROLLBACK
2. trigger×î´óΪ32K£¬Èç¹ûÓи´ÔÓµÄÓ¦ÓÿÉÒÔͨ¹ýÔÚTRIGGERÀïµ÷ÓÃPROCEDURE»òFUNCTIONÀ´ÊµÏÖ¡£
3. Óï·¨
CREATE OR REPLACE TRIGGER <trigger_name>
<BEFORE | AFTER> <ACTION>
ON <table_name>
DECLARE
<variable definitions> ......