oracle ÖеÄexception
¡¡¡¡1¡¢Òì³£µÄÓŵã
¡¡¡¡
¡¡¡¡Èç¹ûûÓÐÒì³££¬ÔÚ³ÌÐòÖУ¬Ó¦µ±¼ì²éÿ¸öÃüÁîµÄ³É¹¦»¹ÊÇʧ°Ü£¬Èç
¡¡¡¡BEGIN
¡¡¡¡SELECT ...
¡¡¡¡-- check for ’no data found’ error
¡¡¡¡SELECT ...
¡¡¡¡-- check for ’no data found’ error
¡¡¡¡SELECT ...
¡¡¡¡-- check for ’no data found’ error
¡¡¡¡ÕâÖÖʵÏֵķ½·¨È±µãÔÚÓÚ´íÎó´¦ÀíûÓÐÓëÕý³£´¦Àí·Ö¿ª£¬¿É¶ÁÐԲʹÓÃÒì³££¬¿ÉÒÔ·½±ã´¦Àí´íÎ󣬶øÇÒÒì³£´¦Àí³ÌÐòÓëÕý³£µÄÊÂÎñÂß¼·Ö¿ª£¬Ìá¸ßÁ˿ɶÁÐÔ£¬Èç
¡¡¡¡BEGIN
¡¡¡¡SELECT ...
¡¡¡¡SELECT ...
¡¡¡¡SELECT ...
¡¡¡¡...
¡¡¡¡EXCEPTION
¡¡¡¡WHEN NO_DATA_FOUND THEN -- catches all ’no data found’ errors
¡¡¡¡
¡¡¡¡2¡¢Òì³£µÄ·ÖÀà
¡¡¡¡
¡¡¡¡ÓÐÁ½ÖÖÀàÐ͵ÄÒì³££¬Ò»ÖÖΪÄÚ²¿Òì³££¬Ò»ÖÖΪÓû§×Ô¶¨ÒåÒì³££¬ÄÚ²¿Òì³£ÊÇÖ´ÐÐÆÚ¼ä·µ»Øµ½PL/SQL¿éµÄORACLE´íÎó»òÓÉPL/SQL´úÂëµÄij²Ù×÷ÒýÆðµÄ´íÎó£¬Èç³ýÊýΪÁã»òÄÚ´æÒç³öµÄÇé¿ö¡£Óû§×Ô¶¨ÒåÒì³£ÓÉ¿ª·¢ÕßÏÔʾ¶¨Ò壬ÔÚPL/SQL¿éÖд«µÝÐÅÏ¢ÒÔ¿ØÖƶÔÓÚÓ¦ÓõĴíÎó´¦Àí¡£
¡¡¡¡
¡¡¡¡Ã¿µ±PL/SQLÎ¥±³ÁËORACLEÔÔò»ò³¬Ô½ÁËϵͳÒÀÀµµÄÔÔò¾Í»áÒþʽµÄ²úÉúÄÚ²¿Òì³£¡£ÒòΪÿ¸öORACLE´íÎó¶¼ÓÐÒ»¸öºÅÂë²¢ÇÒÔÚPL/SQLÖÐÒ쳣ͨ¹ýÃû×Ö´¦Àí£¬ORACLEÌṩÁËÔ¤¶¨ÒåµÄÄÚ²¿Òì³£¡£ÈçSELECT INTO Óï¾ä²»·µ»ØÐÐʱ²úÉúµÄORACLEÒì³£NO_DATA_FOUND¡£¶ÔÓÚÔ¤¶¨ÒåÒì³££¬ÏÖ½«×î³£ÓõÄÒì³£ÁоÙÈçÏ£º
¡¡¡¡exception¡¡ oracle error¡¡ sqlcode value¡¡ condition
¡¡¡¡no_data_found¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ ora-01403¡¡ +100¡¡ select into Óï¾äûÓзûºÏÌõ¼þµÄ¼Ç¼·µ»Ø
¡¡¡¡too_many_rows¡¡ ora-01422¡¡ -1422¡¡ select into Óï¾ä·ûºÏÌõ¼þµÄ¼Ç¼ÓжàÌõ·µ»Ø
¡¡¡¡dup_val_on_index¡¡ ora-00001¡¡ -1¡¡ ¶ÔÓÚÊý¾Ý¿â±íÖеÄijһÁУ¬¸ÃÁÐÒѾ±»ÏÞÖÆÎªÎ¨Ò»Ë÷Òý£¬³ÌÐòÊÔͼ´æ´¢Á½¸öÖØ¸´µÄÖµ
¡¡¡¡value_error¡¡ ora-06502¡¡ -6502¡¡ ÔÚת»»×Ö·ûÀàÐÍ£¬½ØÈ¡»ò³¤¶ÈÊÜÏÞʱ£¬»á·¢Éú¸ÃÒì³££¬ÈçÒ»¸ö×Ö·û·ÖÅä¸øÒ»¸ö±äÁ¿£¬¶ø¸Ã±äÁ¿ÉùÃ÷µÄ³¤¶È±È¸Ã×Ö·û¶Ì£¬¾Í»áÒý·¢¸ÃÒì³£
¡¡¡¡storage_error¡¡ ora-06500¡¡ -6500¡¡ ÄÚ´æÒç³ö
¡¡¡¡zero_divide¡¡ ora-01476¡¡ -1476¡¡ ³ýÊýΪÁã
¡¡¡¡case_not_found¡¡ ora-06592¡¡ -6530¡¡ ¶ÔÓÚÑ¡ÔñcaseÓï¾ä£¬Ã»ÓÐÓëÖ®ÏàÆ¥ÅäµÄÌõ¼þ£¬Í¬Ê±£¬Ò²Ã»ÓÐelseÓï¾ä²¶»ñÆäËûµÄÌõ¼þ
¡¡¡¡cursor_already_open¡¡ ora-06511¡¡ -6511¡¡ ³ÌÐòÊÔͼ´ò¿ªÒ»¸öÒѾ´ò¿ªµÄÓαê
¡¡¡¡timeout_on_resourc
Ïà¹ØÎĵµ£º
Ò»¸öÓû§¿ÉÒÔʹÓÃÒ»¸ö»ò¶à¸ö±í¿Õ¼ä£¬Ò»¸ö±í¿Õ¼äÒ²¿ÉÒÔ¹©¶à¸öÓû§Ê¹Óá£Óû§ºÍ±í¿Õ¼äûÓÐÁ¥Êô¹ØÏµ£¬±í¿ÕÊÇÒ»¸öÓÃÀ´¹ÜÀíÊý¾Ý´æ´¢Âß¼¸ÅÄ±í¿Õ¼äÖ»ÊǺÍÊý¾ÝÎļþ·¢Éú¹ØÏµ£¬Êý¾ÝÎļþÊÇÎïÀíµÄ£¬Ò»¸ö±í¿Õ¼ä¿ÉÒÔ°üº¬¶à¸öÊý¾ÝÎļþ£¬¶øÒ»¸öÊý¾ÝÎļþÖ»ÄÜÁ¥ÊôÒ»¸ö±í¿Õ¼ä¡£
Óû§ÊôÓÚÊý¾Ý¿âʵÀýµ ......
ÈçºÎÓ¦¶ÔORACLEÊý¾Ý¿âµÄ²¿·ÖÃæÊÔÌâÄ¿
1. ½âÊÍÀ䱸·ÝºÍÈȱ¸·ÝµÄ²»Í¬µãÒÔ¼°¸÷×ÔµÄÓŵã
½â´ð:Èȱ¸·ÝÕë¶Ô¹éµµÄ£Ê½µÄÊý¾Ý¿â£¬ÔÚÊý¾Ý¿âÈԾɴ¦ÓÚ¹¤×÷״̬ʱ½øÐб¸·Ý¡£¶øÀ䱸·ÝÖ¸ÔÚÊý¾Ý¿â¹Ø±Õºó£¬½øÐб¸·Ý£¬ÊÊÓÃÓÚËùÓÐģʽµÄÊý¾Ý¿â¡£Èȱ¸·ÝµÄÓŵãÔÚÓÚµ±±¸·Ýʱ£¬Êý¾Ý¿âÈԾɿÉÒÔ±»Ê¹Óò¢ÇÒ¿ÉÒÔ½«Êý¾Ý¿â»Ö¸´µ½ÈÎÒâÒ»¸öʱ¼äµã¡£À䱸· ......
ORACLE SQLÐÔÄÜÓÅ»¯ÏµÁÐ
1. ·ÃÎÊTableµÄ·½Ê½
ORACLE ²ÉÓÃÁ½ÖÖ·ÃÎʱíÖмǼµÄ·½Ê½:
a. È«±íɨÃè
È«±íɨÃè¾ÍÊÇ˳ÐòµØ·ÃÎʱíÖÐÿÌõ¼Ç¼. ORACLE²ÉÓÃÒ»´Î¶ÁÈë¶à¸öÊý¾Ý¿é(database block)µÄ·½Ê½ÓÅ»¯È«±íɨÃè.
b. ͨ¹ýROWID·ÃÎʱí
Äã¿ÉÒÔ²ÉÓûùÓÚROWIDµÄ·ÃÎÊ·½Ê½Çé¿ö,Ìá¸ß·ÃÎʱíµÄЧÂÊ, , ROWID°üº¬Á˱íÖмǼµ ......
ÓÐÁËÓα꣬¾Í¿ÉÒÔ²»ÓÃÿÌõÊý¾ÝÈ¥¼ì²éÊÇ·ñ·ûºÏÌõ¼þ£¬ÏÈ¿´Ò»ÏÂÏÂÃæµÄ£º
--ÓαêʹÓã¨ÓαêÆäʵÊÇÒ»¸ö·ÅÈëÄÚ´æÁÙʱ±í£©
declare
money cms3_simcard.card_fee%type :=0; --¶¨ÒåÓë±í×Ö¶ÎÏàͬÀàÐÍ
cursor mycursor is --¶¨ÒåÓαê
select ......
ǰÌì×°ºÃµÄ£Ï£ò£á£ã£ì£å£¬×òÌìͻȻ²»ºÃÓÃÁË£¬´ÓOracleµÄ´íÎóÌáʾÀ´¿´,ÊÇ˵TNS:no listener £¬¹À¼ÆÊÇijÖÖ·þÎñûÓÐÆô¶¯£¬´ò¿ªwindows¹ÜÀí¹¤¾ß->·þÎñ£¬Ò»¿´£¬ÓÐÒ»¸öOracleOraHome90TNSListenerÕâÑùµÄ·þÎñ£¬ºÍ´íÎóÐÅÏ¢ÌâÊÇÒ»Ö£¬»ù±¾¾Í¿ÉÒԿ϶¨ÊÇÕâ¸ö·þÎñËùÒý·¢µÄÎÊÌâ¡£ÔÙÒ»¿´£¬¸Ã·þÎñûÓÐÆô¶¯£¬ËìÊÖ¹¤Æô¶¯£¬Ë¢ÐºóÒ»¿´£¬¸Ã· ......