DB2 ÖÐÓαêµÄʹÓÃÒÔ¼° ´æ´¢¹ý³ÌµÄд·¨ ÏÂÔØ±¾ÎÄ

ÎÊÌâ1£º

ʲôʱºò²Å»á·¢Éúnot foundÒì³£ £¬ÒÔ¼°db2ÖÐsqlcodeµÄÖµÊÇÈçºÎ±ä»¯µÄ£¿ ÔÚdb2ÖУ¬Ò»Ìõselect Óï¾äÒ²ÓпÉÄÜ·¢Éúnot foundÒì³££¬Æ©Èç declare sqlcode integer default 0; declare sql_code integer default 0; declare classCode varchar(40) ;

select app_class_code into classCode from kf_app_class where app_name='ÎÞЧ¼Ç¼'; set sql_code=sqlcode;

Èç¹û´ËʱûÓмìË÷µ½¼Ç¼£¬ÄÇôsqlcodeµÄֵΪ100£¬ÓеĻ°Îª0; ÎÒÃÇ¿ÉÒÔ¶¨ÒåNOT FOUND Òì³£´¦Àí

declare sqlcode integer default 0; declare sql_code integer default 0; declare classCode varchar(40) ; begin

declare continue handler for not found begin

--×¢Èç¹û·¢Éúnot foundÄÇô´ËʱµÄsqlcode±Ø¶¨Îª100 set sql_code=sqlcode;/*ÔÚÕâÀïsqlcodeµÄֵΪ100£»*/ --Èç¹ûÔٴεõ½sqlcodeµÄÖµÄÇôËüµÄÖµ±äΪ0

set sql_code=sqlcode;/*ÕâÀïsqlcode±ä³ÉÁË0£¬ÒòΪÉÏÒ»ÌõÓï¾äÖ´Ðгɹ¦ÁË£¬ÄÇôsqlcode±ä³ÉÁË0*/ end;

select app_class_code into classCode from kf_app_class where app_name='ÎÞЧ¼Ç¼'; set sql_code=sqlcode;/*ͬÀí´ËʱÈç¹ûûÓÐÈ¡µ½Êý¾Ý£¬ÄÇô»á½ødeclare continue handler £¬·µ»ØºósqlcodeµÄֵҲΪ0*/ end;

ËùÒÔÎÒÃÇ¿ÉÒÔͨ¹ýÁ½ÖÖ·½·¨À´²¶»ñºÍ´¦Àínot found ·½·¨1£º begin

declare continue handler for not found begin

--Òì³£´¦Àí´úÂë end; sqlÓï¾ä end; ·½·¨2£º begin

sqlÓï¾ä

if sqlcode=100 then --Òì³£´¦Àí´úÂë

end if; end; ÎÊÌâ2£º

¶¨ÒåÁËÓα꣬ÔõôfecthÒ»Ìõ¼Ç¼£¬Ôõô½øÐÐÑ­»·£¿

Q:¶¨ÒåÁËÓαê¼ÙÉè·¢Éúnot found Òì³££¬ÄÇôÊÇÔÚopen cursorNameµÄʱºò»¹ÊÇÔÚfecthµÄʱºò·¢ÉúÒì³££¿

A£º¼ìÑéÓαêÖеÄÊý¾ÝÊÇ·ñÈ¡Íê»òÕßÓÐÎ޼Ǽ£¬Ó¦¸ÃÔÚfecthµÄʱºò£¬¶ø²»ÊÇ·¢ÉúÔÚopen cursorNameµÄʱºò£¬

ÏÂÃæÒ»¸öÀý×ÓÏêϸµÄ˵Ã÷ÁËÓαêʹÓùý³Ì begin

declare sqlcode integer default 0; declare app_code varchar(10);

declare cursor1 cursor for select app_code from kf_app_class ; open cursor1; cursorLoop: loop

fecth cursor1 into app_code ;

if sqlcode=100 then leave cursorLoop; end if; end loop; end;

Q:sqlcode ¿ÉÒÔÖ±½ÓÓÃÂð£¿

A:ÔÚdb2ÖУ¬Èç¹ûҪʹÓÃsqlcodeÄÇô±ØÐëÔÚʹÓÃǰdeclare; Æ©Èç

declare sqlcode integer default 0; if sqlcode =? then end if; ¸½×¢

db2µÄÆäËûÒì³£´¦Àí

¶ÔÓ¦ oracleµÄ when other exceptions

declare exit handler for sqlwaring,sqlexcption begin £­£­´¦ÀíÒì³£ end;

µ±³ÌÐòÖ´ÐÐexit handlerÒì³£´¦Àíºó£¬ÄÇô»áÍ˳ö³ÌÐò£¬²»»áÔÚ½Ó×ÅÖ´ÐУ¬Ò²¾ÍÊÇ

declare exit handler for sqlwaring,sqlexcption begin

£­£­´¦ÀíÒì³£ end; sqlÓï¾ä1£» sqlÓï¾ä2£»

Ö´ÐÐsqlÓï¾ä1·¢ÉúÒì³££¬»á½øÈë exit handler £¬È»ºóÍ˳ö³ÌÐò£¬²»»áÔÚÖ´ÐÐ sqlÓï¾ä2 Ö´ÐÐsqlÓï¾ä1·¢ÉúÒì³££¬»á½øÈë exit handler £¬È»ºóÍ˳ö³ÌÐò£¬²»»áÔÚÖ´ÐÐ sqlÓï¾ä2