PL/SQLÖÐGOTOÓï¾äºÍ±êÇ©
ÔÚPL/SQLÖÐÒ²ÌṩGOTOÓï¾ä,ÆäÓï·¨ÊÇ
GOTO label;
ÕâÀïlabelÊÇÔÚPL/SQL¿éÖж¨ÒåµÄ±êÇ©.±êÇ©ÊÇÓÃË«¼ýÍ·À¨ºÅÀ¨ÆðÀ´µÄ.µ±Ö´ÐÐGOTOÓï¾äµÄʱºò,¿ØÖÆ»áÁ¢¼´×ªµ½ÓɱêÇ©±êʶµÄÓï¾ä.
1.¶ÔÓÚGOTOµÄÏÞÖÆ
a.¶ÔÓÚ¿é,Ñ»·»òÕßIFÓï¾ä¶øÑÔ,ÏëÒª´ÓÍâ²ãÌøµ½ÄÚ²ãÊÇ·Ç·¨µÄ.
b.ʹÓÃGOTO×Ó¾ä´ÓÒ»¸öIF×Ó¾äÌøµ½ÁíÒ»¸ö×Ó¾äÖÐÒ²ÊÇ·Ç·¨µÄ.
begin
if x>3 then
...
goto<<lbl>>
else
<<lbl>>
...
end if;
end;
c.´ÓÒ»¸öÒì³£´¦Àí¿éÄÚÌø×ªµ½µ±Ç°¿éÊÇ·Ç·¨µÄ¡£
2.Ϊѻ·É趨±êÇ©
Ñ»·±¾ÉíÊÇ¿ÉÒÔ±»É趨±êÇ©µÄ¡£Èç¹û½øÐÐÁËÉ趨£¬ÄÇô¿ÉÒÔÔÚEXITÓï¾äÖÐʹÓøñêǩָÃ÷ÒªÍ˳öÄĸöÑ»·.ÀýÈç:
<<l_outer>>
for v_outer_index in 1..10 loop
...
<<I_inner>>
for v_inner_index in 1..30 loop
...
if v_outer_index > 5 then
EXIT I_outer;
end if;
end loop I_inner;
end loop I_outer;
Èç¹ûÑ»·É趨Á˱êÇ©£¬ÄÇô¿ÉÒÔÔÚEND LOOPÓï¾äµÄºóÃæ°üº¬¸Ã±êÇ©Ãû,ÈçÉÏÃæËùʾ.
3.½÷É÷µÄʹÓÃGOTOÓï¾ä
ÔÚʹÓÃGOTOÓï¾äʱһ¶¨ÒªÐ¡ÐÄ,²»È»¶¼ÊÇÐ©ÌøÀ´ÌøÈ¥µÄ´úÂë,ºÜÄÑÀí½âÒ²ºÜÄÑά»¤.
¼¸ºõËùÓÐʹÓÃGOTOµÄÇé¿ö¶¼¿ÉÒÔʹÓÃÆäËûµÄPL/SQL¿ØÖƽṹ,ÀýÈçÑ»·»òÕßÌõ¼þ½á¹¹,À´ÖØÐ½øÐбàд.Ò²¿ÉÒÔʹÓÃÒì³£´¦ÀíÀ´Í˳öÉî²ãǶÌ×µÄÑ»·,¶ø²»ÓÃÖ±½ÓÌø×ªµ½½áβ.
4.nullÓï¾ä
ÔÚһЩÇé¿öÏÂ,Äã¿ÉÄÜÏëÒªÏÔʽµÄÖ¸Ã÷²»½øÐÐÈκβÙ×÷.Õâ¿ÉÒÔͨ¹ýʹÓÃNULLÓï¾äÀ´ÊµÏÖ.NULLÓï¾ä²»×öÈκÎÊÂÇé,ËüÖ»ÊÇÒ»¸öռλ·û.
ÀýÈç:
begin
...
if ... then
...
else
null;
end if;
...
end;
Ïà¹ØÎĵµ£º
1¡¢½Ø¶ÏÈÕÖ¾£º
backup log Êý¾Ý¿â with no_log
»ò£º
Çå¿ÕÈÕÖ¾
DUMP TRANSACTION ¿âÃû WITH NO_LOG
2¡¢ & ......
Use equality first.
ʹÓõÈÁ¬½Ó
Use range operators only where equality does not apply.
Ö»ÓÐÔÚµÈÁ¬½Ó²»¿ÉÓõÄÇé¿öÏÂÊÂÓÉÇø¼äÁ¬½Ó
Avoid use of negatives in the form of !=
or NOT.
±ÜÃâʹÓà £¡= »òÕß not
Avoid LIKE pattern matching.
±ÜÃâʹÓà LIKEÆ¥Åä
Try to retrieve specific rows and in small n ......
1.²éѯµÄÄ£ºýÆ¥Åä
¾¡Á¿±ÜÃâÔÚÒ»¸ö¸´ÔÓ²éѯÀïÃæÊ¹Óà LIKE '%parm1%'—— ºìÉ«±êʶλÖõİٷֺŻᵼÖÂÏà¹ØÁеÄË÷ÒýÎÞ·¨Ê¹Óã¬×îºÃ²»ÒªÓÃ.
½â¾ö°ì·¨:
ÆäʵֻÐèÒª¶Ô¸Ã½Å±¾ÂÔ×ö¸Ä½ø£¬²éѯËٶȱã»áÌá¸ß½ü°Ù±¶¡£¸Ä½ø·½·¨ÈçÏ£º
a¡¢ÐÞ¸Äǰ̨³ÌÐò——°Ñ²éѯÌõ¼þµÄ¹©Ó¦ÉÌÃû³ÆÒ»À¸ÓÉÔÀ´µÄÎı¾ÊäÈë¸ÄΪÏÂÀÁб ......
ÊÔÑéÄ¿µÄ:
Ò»¡¢Ñ§Ï°²éѯ½á¹ûµÄÅÅÐò
¶þ¡¢Ñ§Ï°Ê¹Óü¯º¯ÊýµÄ·½·¨£¬Íê³Éͳ¼Æ
µÈ²éѯ¡£
Èý¡¢Ñ§Ï°Ê¹Ó÷Ö×é×Ó¾ä
Ò»¡¢Ñ§Ï°²éѯ½á¹ûµÄÅÅÐò
1¡¢²éѯȫÌåѧÉúÐÅÏ¢£¬½á¹û°´ÕÕÄêÁä½µ
ÐòÅÅÐò
select *
from student
order by sage desc
2¡¢²éѯѧÉúÑ¡ÐÞÇé¿ö£¬½á¹ûÏȰ´ÕտγÌ
ºÅÉýÐòÅÅÐò£¬ÔÙ°´³É¼¨½µÐòÅÅÐò
select *
from ......
Ë÷ÒýÀàÐÍ
ΨһË÷Òý£ºÎ¨Ò»Ë÷Òý²»ÔÊÐíÁ½ÐоßÓÐÏàͬµÄË÷ÒýÖµ
Ö÷¼üË÷Òý£ºÎª±í¶¨ÒåÒ»¸öÖ÷¼ü½«×Ô¶¯´´½¨Ö÷¼üË÷Òý£¬Ö÷¼üË÷ÒýÊÇΨһË÷ÒýµÄÌØÊâÀàÐÍ¡£Ö÷¼üË÷ÒýÒªÇóÖ÷¼üÖеÄÿ¸öÖµÊÇΨһµÄ£¬²¢ÇÒ²»ÄÜΪ¿Õ
¾Û¼¯Ë÷Òý(Clustered)£º±íÖи÷ÐеÄÎïÀí˳ÐòÓë¼üÖµµÄÂß¼£¨Ë÷Òý£©Ë³ÐòÏàͬ£¬Ã¿¸ö±íÖ»ÄÜÓÐÒ»¸ö
·Ç¾Û¼¯Ë÷Òý(Non-clustered)£º·Ç¾Û ......