ÈçºÎ²âÊÔoracleͨÓô洢¹ý³Ì - Oracle / ¿ª·¢
SQL code:
CREATE OR REPLACE PROCEDURE p_page (
p_sqlcount IN VARCHAR2, -- ¼Ç¼ÊýsqlÓï¾ä
p_sql IN VARCHAR2, -- ½á¹û¼¯sqlÓï¾ä
p_startpage IN INT, --ÆðʼҳºÅ
p_pagenum IN INT, --ÿҳ¼Ç¼Êý
r_count OUT INT, --×ܼǼÊý
r_cursor OUT sys_refcursor -- ½á¹û¼¯
)
IS
v_start INT;
v_end INT;
v_sql VARCHAR2 (2000);
BEGIN
v_start := (p_startpage - 1) * p_pagenum + 1;
v_end := v_start + p_pagenum - 1;
EXECUTE IMMEDIATE p_sqlcount
INTO r_count;
v_sql :=
'SELECT * '
|| ' from (select t1.*, ROWNUM r '
|| ' from ('
|| p_sql
|| ' ) t1 where rownum <='
|| TO_CHAR (v_end)
|| ') t2 where r >='
|| TO_CHAR (v_start);
OPEN r_cursor FOR v_sql;
EXCEPTION
WHEN OTHERS
THEN
RAISE;
END p_page;
/
±¾ÎÄÀ´×ÔCSDN²©¿Í£¬×ªÔØÇë±êÃ÷³ö´¦£ºhttp://blog.csdn.net/wzy0623/archive/2007/08/14/1742788.aspx
ÔÚpl/sqlÖвâÊԸô洢¹ý³Ì£º
²ÎÊýÊäÈëÈçÏ£º
p_sqlcount select * from jtglpt_t_dm_b
p_sql select * from jtglpt_t_dm_b
Ïà¹ØÎÊ´ð£º
exp user/password@dbname file=c:\table.dmp tables=jbitaku,jbitakum grants=y
È»áá°´»Ø車鍵 說Ã÷:¡¡ user/password@dbname ¡¡·Ö別±íʾÓÃ戶Ãû£¬ÃÜ碼ºÍ·þ務Ãû f ......
ÎÒÓÐÒ»¸ö±í£¬½á¹¹ÊÇÕâÑù¡£
ת³ö µ¥Î» תÈ뵥λ ±ÊÊý ½ð¶î
date(Ö÷) outid(Ö÷) inid(Ö÷) num amt
2009 1 2 1 500 Ϊ 1 µ¥Î» ÔÚ2009Ä ......
¼ÙÉètable01 ÖÐÓÐ ÒÔÏÂ×ÊÁÏ
emp_no emp_name
------- ------------
0001 TOM
0002 JOHN
0003 MARY
³£Óõ绰
¶øÎÒÃÇÒªµÃµ½ÒÔϵÄOUTPUT (»òÊǸ÷ÖÖÆäËûµÄoutput)
0001,TOM
0002,JOHN
......
ÎҵĴ¦ÀíÊÇÕâÑùµÄ£º
ÎÒÓÐÒ»¸öºÜ´óµÄÊý¾Ý¼¯ºÏ£¬´¦ÓÚÐÔÄÜ·½ÃæµÄ¿¼ÂÇÐèҪʹÓÃÁÙʱ±í¹ý¶É£¬²¢ÇÒʹÓ÷ÖÒ³µÄ·½Ê½ÏòÁÙʱ±íÖвåÈëÊý¾Ý£¬Êý¾ÝʹÓÃÍê±Ïºó£¬É¾³ýÁÙʱ±íµÄÊý¾Ý¡£
³öÏÖµÄÏÖÏ󣺵±OracleÖØÐÂÆô¶¯ºó£¬µÚÒ»Ò³²åÈëµÄ ......
ллÌÆÈËÀÏ´óµÄÖ¸µã£¬Ð»Ð»¸÷λ¸ßÊÖµÄÖ¸µã£¡
°²×°10g Enterprise¡£ÉÏÍøÏÂÁËMLDNµÄOracleÊÓƵ£¬¸ú×ÅÊÓƵÉϵÄÅäÖÃ×ߣ¬°²×°³É¹¦ÁË£¬µ«ÊÇûÍêÕûµØÅäÖá£
µã»÷½øÈ룺Database Configuration Assistant
1. ´´½¨Êý¾Ý¿â£»
......