Oracle ·ÖÒ³ÎÊÌâ - Oracle / ¸ß¼¶¼¼Êõ
ÓõÄÊÇÕâÖÖ·ÖÒ³
sql = "select * from table"
con.prepareCall("SELECT * from(SELECT A.*, rownum r from("+sql+") A WHERE rownum <= "+intPage*intPageSize+") B WHERE r > "+(intPage-1)*intPageSize);
¾Ý˵ÊDZȽϳÉÊìµÄ×ö·¨¡£
ÎÒÓÃ100wÌõÊý¾Ý²âÊÔ£¬Ã¿Ò³5ÌõÊý¾Ý£¬1wÒ³ÒÔÄÚËÙ¶È»¹¿ÉÒÔ½ÓÊÜ£¬2Ãë¶à£¬µ«µ½10wÒ³ºó£¬¾ÍÐèҪʮ¼¸ÃëÁË¡£
ÏëÎÊÎÊ£¬ÓÐû¸ü¸ßЧµÄ·ÖÒ³·½·¨£¿
ÓÃrow_number()¿´¿´ÊÇ·ñ»áºÃÒ»µã
Ò»°ãÀ´Ëµ
ÄãÁгöµÄ·½·¨ÊÇ×î³ÉÊì×î³£Óõķ½·¨£¬ÒòΪһ°ãÓû§×î¹ØÐĵÄÊÇÊý¾Ýǰ¼¸Ò³µÄÊý¾Ý£¬ËùÒÔ£¬ÕâÖÖд·¨ÔÚȡǰ¼¸Ò³µÄÊý¾ÝÊý¾ÝʱÐÔÄܺܺ㬵«µ½ºóÃæ¾ÍÔ½À´Ô½²î£¬ÁíÍ⻹һÖÖ·½·¨ÊǸù¾ÝË÷ÒýÈ¡µÃrowidµÄ·½·¨£¬ÈçÏÂ
SELECT *
from t
WHERE ROWID IN (SELECT rid
from (SELECT rownum r, ROWID rid
from (SELECT ROWID from TABLE WHERE col1 = 'A')
WHERE r <= &intPage * &intPageSize)
WHERE r >= (&intPage - 1) * &intPageSize))
ÕâÖÖ·½·¨ÔÚË÷Òý±È±íСµÃ¶àµÄÇé¿öÏ£¬ÔÚ·ÃÎÊÇ°ÃæµÄÃæÐ§Âʽ«±ÈµÚÒ»ÖÖ·½·¨¸ß£¬µ«Èç¹ûÔÚ·ÃÎʺóÃæµÄÒ³£¬Ð§Âʽ«±ÈµÚÒ»ÖÖ·½·¨ºÃºÜ¶à¡£¹Ø¼ü¿´Êµ¼ÊµÄÐèÒªÁË¡£
ÁíÍ⣬ʹÓ÷ÖÎöº¯Êý£¬¾²âÊÔ·ÖÎöº¯ÊýÔÚ·ÖÒ³ÉÏÓÐÄãÒâÏë²»µ½µÄЧ¹û£¡¿É¶¯ÊÖÊÔÊÔ£¡
Ã÷°×ÁË£¬ÎÒ·¢ÏÖÂýµÄÔÒòÊÇÿ´Î¶¼ÒªÍ³¼Æselect count(1£© from table1 »ñÈ¡×ܼǼÊý£¬Õâ¸ö²î²»¶àÓÃÁË2Ã룬ʵ¼Ê·Ò³Ç°ÃæµÄÖ»ÊǼ¸Ê®º
Ïà¹ØÎÊ´ð£º
ÎÒÊÇÓÃÔ¶³Ì×ÀÃæÁ¬²Ù×÷·þÎñÆ÷ÉϵÄÊý¾Ý¿â¡£
ÔÚ´´½¨Ò»¸öÓû§Ö®ºó£¬ÔÙÓÃPLSQLµÇ¼£¬ÔòPLSQLËÀµôÁË¡£
ÎҹصôPLSQLÖ®ºó£¬ÓÃÆäËûÓû§Ò²²»ÄܵǼ¡£
ÎÒ°ÑoracleµÄ·þÎñÍ£Ö¹£¬½á¹û¾ÍÊÇoracleµÄ·þÎñ״̬¾ÍÍ£ÁôÔÚ¡°Í ......
´ó¼ÒºÃ,ÎÒÏÖÔÚ°Ñoracle·þÎñÆ÷ÉÏÃæµÄÔʼÎļþ,ÏÂÔØµ½±¾»úÁË.ÎÒÏëÔÚ±¾»ú·ÃÎÊÊý¾Ý¿âÔõôÉèÖð¡.ÊDz»ÊÇÀàËÆ¿ÉÒÔ½¨Á¢Ò»¸öʲôÐéÄâ·þÎñÆ÷À´ÊµÏÖ.Çë´ó¼Ò³ö³öÖ÷Òâ
ÒýÓÃ
´ó¼ÒºÃ,ÎÒÏÖÔÚ°Ñoracle·þÎñÆ÷ÉÏÃæ ......
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
ÎҵĴ¦ÀíÊÇÕâÑùµÄ£º
ÎÒÓÐÒ»¸öºÜ´óµÄÊý¾Ý¼¯ºÏ£¬´¦ÓÚÐÔÄÜ·½ÃæµÄ¿¼ÂÇÐèҪʹÓÃÁÙʱ±í¹ý¶É£¬²¢ÇÒʹÓ÷ÖÒ³µÄ·½Ê½ÏòÁÙʱ±íÖвåÈëÊý¾Ý£¬Êý¾ÝʹÓÃÍê±Ïºó£¬É¾³ýÁÙʱ±íµÄÊý¾Ý¡£
³öÏÖµÄÏÖÏ󣺵±OracleÖØÐÂÆô¶¯ºó£¬µÚÒ»Ò³²åÈëµÄ ......
--½¨Á¢Ò»¸ö°üÒÔ¶¨ÒåÒ»¸öÓαê
create or replace package PK_test
as
type cur_test is ref cursor;
end PK_test;
--½¨Á¢Ò»¸ö¹ý³Ì,ͨ¹ýÊäÈëJOBID£¬·µ»ØÒ»¸ö±í¼Ç¼£¨Óα꣩!
create or replace ......