´øÅÅÐòµÄ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
Ïà¹ØÎĵµ£º
ʲôÊÇ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;
±£´æ ......
ʲôÊǺϲ¢¶àÐÐ×Ö·û´®£¨Á¬½Ó×Ö·û´®£©ÄØ£¬ÀýÈ磺
SQL> desc test;
Name Type Nullable Default Comments
------- ------------ -------- ------- --------
COUNTRY VARCHAR2(20) Y &nb ......
sqlldrÏê½â
Oracle µÄSQL*LOADER¿ÉÒÔ½«ÍⲿÊý¾Ý¼ÓÔØµ½Êý¾Ý¿â±íÖС£ÏÂÃæÊÇSQL*LOADERµÄ»ù±¾Ìص㣺
1£©ÄÜ×°È벻ͬÊý¾ÝÀàÐÍÎļþ¼°¶à¸öÊý¾ÝÎļþµÄÊý¾Ý
2£©¿É×°Èë¹Ì¶¨¸ñʽ£¬×ÔÓɶ¨½çÒÔ¼°¿É¶È³¤¸ñʽµÄÊý¾Ý
3£©¿ÉÒÔ×°Èë¶þ½øÖÆ£¬Ñ¹ËõÊ®½øÖÆÊý¾Ý
4£©Ò»´Î¿É¶Ô¶à¸ö±í×°ÈëÊý¾Ý
5£©Á¬½Ó¶à¸öÎïÀí¼Ç¼װµ½Ò»¸ö¼Ç¼ÖÐ
6£©¶ÔÒ ......
ÓÃ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 ......