oracle³õѧÕßÄãÇë½Ì - Oracle / »ù´¡ºÍ¹ÜÀí
--½¨Á¢Ò»¸ö°üÒÔ¶¨ÒåÒ»¸öÓαê create or replace package PK_test as type cur_test is ref cursor; end PK_test; --½¨Á¢Ò»¸ö¹ý³Ì,ͨ¹ýÊäÈëJOBID£¬·µ»ØÒ»¸ö±í¼Ç¼£¨Óα꣩! create or replace procedure PR_TEST_CURSOR (JOBID IN VARCHAR2,cur_test out pk_test.cur_test) as begin open cur_test for select ENAME,JOB from emp where JOB=JOBID; end; --ͨ¹ý¹ý³Ìµ÷ÓÃÉú³ÉÓαê(ºìÉ«²¿·Ö£©£¬²¢ÀûÓÃÓαê´òÓ¡. declare type t_name is table of scott.emp.ename%type; type t_job is table of scott.emp.job%type; cr_test pk_test.cur_test; e_name t_name; e_job t_job; begin --open cr_test for select ename,job from emp where job='MANAGER'; PR_TEST_CURSOR('MANAGER',cr_test); fetch cr_test BULK COLLECT INTO e_name, e_job; CLOSE cr_test; for i in e_name.first..e_name.last loop dbms_output.put_line(e_name(i)||e_job(i)); end loop; end; /* ÎÊÌ⣺ÒÔÉϵ÷ÓÃÊÇÓÐÎÊÌâµÄ,ÎÞ·¨Ê¹Ó㬱¾ÈËÊdzõѧÕߣ¬¾õµÃÕâÑùµÄµ÷ÓÃÓ¦¸ÃÊÇûÎÊÌâµÄ°É£¡ Çë´ó¼Ò°ïæ½âÎò£¡ */
fetch cr_test BULK COLLECT INTO e_name, e_job; ÕâÀïÓ¦¸ÃÓÃpl/sql±í£¬Ò»¸ö±äÁ¿Ò»´ÎÖ»ÄܽÓÊÕÒ»¸öÖµ£¬²»ÄÜfetch BULK COLLECTÒýÓà fetch cr_test BULK COLLECT
Ïà¹ØÎÊ´ð£º
ÔÚϵͳÔËÐеÄʱºò×ÜÊÇÓÐÒ»¿é´ÅÅÌʼÖÕÉÁºìµÆ£¬½øÈëϵͳºó #topas²é¿´×ÜÊÇÓÐÒ»¿é´ÅÅÌ%BUSYΪ90%ÒÔÉÏ£¬ Êý¾Ý¿â°æ±¾£ºoracle 9.2.0.7 Êý¾ÝÎļþ¹ÒÔØµÄ½Úµã£º/oradata/pcs/ Âß¼¾íºÅlv04 #lslv -l lv04
......
ÓÃPL/SQL µÇ½ʱµ¯³ö±¨´í´°¿Ú£¬´íÎóÈçÏ£¡ ORA-01034:ORACLE not available ORA-27101:shared memory realm does not exist ÇëÎÊ£¬ÓÐûÓÐÈËÓöµ½ÕâÖÖÇé¿ö£¬Ôõô½â¾ö£¿Ð»Ð»£¡ 1. Oracle sid ÕýÈ ......
ÎÒÓÐÒ»¸öserver 2000ÀïµÄÊý¾Ý,ÏÖÔÚÏëתµ½oracleÊý¾Ý¿âÉÏÓÃ,²»ÖªµÀÓÐûÓиßÊÖÓмòµ¥ÓÖ¿ì½ÝµÄ·½·¨,ǰÌáÊDz»ÄܸÄÔÀ´oracleÀïµÄÔÓеÄÊý¾Ý¿â,Ö»ÄÜн¨ ÒýÓà °²×°£Ï£Ò£Á£Ã£Ì£ÅµÄ£Ï£Ä£Â£Ã£¬È»ºóÓãӣѣ̡¡£Ó£Å£Ò£Ö£Å£ ......
ÎҵĴ¦ÀíÊÇÕâÑùµÄ£º ÎÒÓÐÒ»¸öºÜ´óµÄÊý¾Ý¼¯ºÏ£¬´¦ÓÚÐÔÄÜ·½ÃæµÄ¿¼ÂÇÐèҪʹÓÃÁÙʱ±í¹ý¶É£¬²¢ÇÒʹÓ÷ÖÒ³µÄ·½Ê½ÏòÁÙʱ±íÖвåÈëÊý¾Ý£¬Êý¾ÝʹÓÃÍê±Ïºó£¬É¾³ýÁÙʱ±íµÄÊý¾Ý¡£ ³öÏÖµÄÏÖÏ󣺵±OracleÖØÐÂÆô¶¯ºó£¬µÚÒ»Ò³²åÈëµÄ ......
Ö÷ÒªÏëʵÏÖ£ºÔÚÿÌìµÄ0µã֮ǰ×Ô¶¯½«Êý¾Ý²åÈëÊý¾Ý¿â£¬Ï£Íû´ó¼ÒÖ¸µã£¡ ×Ô¶¯²åÈë?Êý¾ÝÔ´ÄÄÀïÀ´µÄ,²åÈ뵽ʲôµØ·½ ´¥·¢Æ÷? Ó¦¸ÃÓÃJOB Êý¾ÝÔ´ÔÝʱÏëµÄÊǹ̶¨Êý¾Ý£¬²åÈëµ½Ò»Õűí ÄǾÍÊÇÓÃJOB¶¨Ê±Ö´ÐÐ,´ÓÎļþµ¼ÈëÊ ......