Oracle ´æ´¢¹ý³ÌÖÐʹÓÃcursor Óαê±éÀúÊý¾Ý
Ïȶ¨ÒåÒ»¸öcursor:
Procedure P_MYPROC (
PI_PARAM VARCHAR2
)IS
VI_A VARCHAR2(10):='';
VI_B VARCHAR2(20):='';
VI_C VARCHAR2(30):='';
--¶¨Òå
CURSOR MYCUR IS
SELECE T.A ,T.B, T.C
from TBL_MYTABLE T;
BEGIN
--´ò¿ª
OPEN MYCUR;
--±éÀú
LOOP
FETCH MYCUR
INTO VI_A,VI_B,VI_C;
--ÎÞÊý¾ÝʱÍ˳ö
EXIT WHEN MYCUR%NOTFOUND;
--DO SOMETHING HERE;
END LOOP;
END P_MYPROC;
Ïà¹ØÎĵµ£º
ORACLEѧϰÖгöÏÖµÄÎÊÌ⣨³ÖÐø¸üÐÂÖУ©
1¡¢ ORA:12545 ÒòÄ¿±êÖ÷»ú»ò¶ÔÏó²»´æÔÚ£¬Á¬½Óʧ°Ü
ÍøÉϲο¼µÄ½â¾ö°ì·¨
1.ËÑË÷ÄãµÄoracle°²×°Ä¿Â¼£¬ÕÒµ½ÕâÁ©¸öÎļþ tnsnames.ora ºÍ listener.ora ¼Çס¾Í¸ÄÕâÁ©¸öÎļþ¾ÍÐÐÁË£¬»¹ÓÐÒ»¸ö´óдµÄTNSNAMES.ORA²»ÓùÜËü¡£ËûÃǵÄ·¾¶ÈçÏ£ºÈç E:\oracle\ora92\n ......
µÇ½ORACLEʱ³öÏÖ£ºORA-12637 °ü½ÓÊÜʧ°Ü ´íÎó
½â¾ö·½·¨£ºÔÚ\oracle\product\10.2.0\client_1\NETWORK\ADMIN ÖÐÕÒµ½sqlnet.oraÎļþ£¬
°ÑÐÞ¸Ä SQLNET.AUTHENTICATION_SERVICES= (NONE)¾Í¿ÉÒÔÁË¡£ ......
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔÀ´ÈÏΪexists±ÈinЧÂʸߵÄ˵·¨ÊDz»×¼È·µÄ¡£
Èç¹û²éѯµÄÁ½¸ö±í´óСÏ൱£¬ÄÇôÓÃinºÍexists²î±ð²»´ó¡£
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash
Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔ ......
ÔÚ´ó¶àÊýʱºòÎÒÃÇÔÚÉè¼Æ³ÌÐòµÄʱºò¶¼×ñÑÏÂÃæµÄ²½Ö裺
1¡¢´ò¿ªÓαê
2¡¢¿ªÊ¼Ñ»·
3¡¢´ÓÓαêÖÐȡֵ
ÄÇÒ»Ðб»·µ»Ø
5¡¢´¦Àí
6¡¢¹Ø±ÕÑ»·
7¡¢¹Ø±ÕÓαê
¿ÉÒÔ¼òµ¥µÄ°ÑÕâÒ»Àà´úÂë³ÆÎªÓαêÓÃÓÚÑ»·¡£µ«»¹ÓÐÒ»ÖÖÑ»·ÓëÕâÖÖÀàÐͲ»Ïàͬ£¬Õâ¾ÍÊÇFORÑ»·£¬ÓÃÓÚFORÑ»·µÄÓα갴ÕÕÕý³£µÄÉùÃ÷·½Ê½ÉùÃ÷£¬ËüµÄÓŵ ......
select d.code,d.name, sum(w.weight) weight,round(avg(w.price),2) price,sum(w.money) money
from weight_info w left outer join t_dict d on w.productcode=d.code left outer join t_balancecode b on w.balancecode=b.balancecode where 1=1 and w.operdate>TO_TIMESTAMP('2009-11-2 04:12:32.0', ' ......