SQL Server´æ´¢¹ý³ÌÖÐraiserrorµÄʹÓÃ
Ò» ϵͳԤ¶¨Òå´íÎó´úÂë
SQL Server ÓÐ3831¸öÔ¤¶¨Òå´íÎó´úÂ룬ÓÉmaster.dbo.sysmessages±íά»¤¡£Ã¿Ò»¸ö´íÎó´úÂë¶¼ÓÐÏàÓ¦µÄ¼¶±ðºÍÃèÊö¡£
´íÎó¶¨ÒåµÄ¼¶±ð´Ó0µ½25¡£20ÒÔÉϵĴíÎó´ú±íÖØ´ó´íÎó£¬Í¨³£ÒâζןôíÎó»áµ¼Ö´洢½ø³ÌÁ¢¿ÌÖÕÖ¹£¬²¢ÇÒËùÓеĿͻ§Á¬½Ó¶¼ÒªÖØÐ³õʼ»¯¡£
·Ç¹Ø¼üÐÔ´íÎóÖ»ÊǽûÖ¹µôµ±Ç°ÔËÐеijÌÐòÐУ¬²¢¼ÌÐøÖ´ÐС£
ÅжϴíÎóÊÇ·ñ·¢ÉúºÍµÃµ½´íÎóÃèÊöÐÅÏ¢µÄ·½·¨£º
IF @@ERROR = 0
begin
SELECT @ERRORMESSAGETXT = description from master.dbo.sysmessages WHERE error = @@ERROR
end
¶þ raiserrorÓï·¨
msg_id
¶¨ÖÆÏûÏ¢µÄ´íÎó´úÂë¡£. RAISERROR ½ÓÊÜÈκδóÓÚ13000µÄÊý×Ö, µ«ÊǶ¨ÖÆÐÅÏ¢msg_idÒª´óÓÚµÈÓÚ50000¡£
msg_str
¶¨ÖÆÐÅÏ¢µÄÎı¾¡£
severity
¶¨ÖÆÐÅÏ¢µÄ¼¶±ð¡£´Ó 0 to 25£¬ 19-25 ÊÇÖØ´ó´íÎó´úÂë¡£
state
³ÊÏÖµ¼Ö´íÎóµÄ״̬£¬²»ÔÚSQLÄÚ²¿Ê¹Óá£
argument
¶¨ÒåÔÚ´íÎóÐÅÏ¢ÖеĿÉÒÔÌæ»»µÄÖµ¡£
WITH…
ÓÐÈý¸öÑ¡Ïî:
· WITH LOG ¼Í¼´íÎó¡£Ö»ÄÜÓÃÓÚ¼¶±ð¸ßÓÚ19µÄ´íÎó¡£
· WITH NOWAIT ½«´íÎóÁ¢¿Ì·¢Ë͵½¿Í»§¶Ë
· WITH SETERROR sets @@ERROR to the value specified by msg_id, regardless of severity level.
Óï·¨
RAISERROR ( { msg_id ¦ msg_str } { , severity , state }
[ , argument [ ,...n ] ] )
[ WITH option [ ,...n ] ]
²ÎÊý
msg_id
´æ´¢ÓÚ sysmessages ±íÖеÄÓû§¶¨ÒåµÄ´íÎóÐÅÏ¢¡£Óû§¶¨Òå´íÎóÐÅÏ¢µÄ´íÎóºÅÓ¦´óÓÚ 50,000¡£ÓÉÌØÊâÏûÏ¢²úÉúµÄ´íÎóÊÇµÚ 50,000 ºÅ¡£
msg_str
ÊÇÒ»ÌõÌØÊâÏûÏ¢£¬Æä¸ñʽÓë C ÓïÑÔÖÐʹÓÃµÄ PRINTF ¸ñʽÑùʽÏàËÆ¡£´Ë´íÎóÐÅÏ¢×î¶à¿É°üº¬ 400 ¸ö×Ö·û¡£Èç¹û¸ÃÐÅÏ¢°üº¬µÄ×Ö·û³¬¹ý 400 ¸ö£¬
ÔòÖ»ÄÜÏÔʾǰ 397 ¸ö²¢½«Ìí¼ÓÒ»¸öÊ¡ÂÔºÅÒÔ±íʾ¸ÃÐÅÏ¢Òѱ»½Ø¶Ï¡£ËùÓÐÌØ¶¨ÏûÏ¢µÄ±ê×¼ÏûÏ¢ ID ÊÇ 14,000¡£
msg_str Ö§³ÖÏÂÃæµÄ¸ñʽ£º
% [[flag] [width] [precision] [{h ¦ l}]] type
¿ÉÔÚ msg_str ÖÐʹÓõIJÎÊý°üÀ¨£º
flag
ÓÃÓÚÈ·¶¨Óû§¶¨ÒåµÄ´íÎóÐÅÏ¢µÄ¼ä¾àºÍ¶ÔÆëµÄ´úÂë¡£
{h | l} type
Óë×Ö·ûÀàÐÍ d¡¢i¡¢o¡¢x¡¢X »ò u Ò»ÆðʹÓã¬ÓÃÓÚ´´½¨ short int (h) »ò long int (l) ÀàÐ͵ÄÖµ¡£
×Ö·ûÀàÐÍ
±íʾ
d »ò I
´ø·ûºÅµÄÕûÊý
o
²»´ø·ûºÅµÄ°Ë½øÖÆÊý
p
Ö¸ÕëÐÍ
s
String
Ïà¹ØÎĵµ£º
ÉÏһƪдµÄsql×¢ÈëµÄ»ù±¾ÔÀí£¬±¾À´Òª½Ó×ÅдÕâÆªµÄ£¬µ«ÊÇÓÉÓÚʱ¼äµÄÔÒòһֱûÓÐд³É£¬½ñÌìÊÇÎåÒ»¼ÙÆÚ£¬×ÜËãÊÇÄܳé¿ÕддÁË¡£
×÷Ϊһ¸ö³ÌÐòÔ±£¬·À·¶sql×¢ÈëµÄµÚÒ»ÏßÊÇÓÉÎÒÃÇÀ´ÊØ»¤µÄ£¬Ö»ÒªÎÒÃÇÔÚ³ÌÐòÖÐÁôÉÙÐíµÄ©¶´£¬¾Í»á¸ø³ÌÐòÔöÇ¿°²È«ÌØÐÔ¡£ËùÒÔÎÒÃÇÒª×öµÄÊÇҪд°²È«µÄ³ÌÐò£¬·ÀÖ¹sql×¢ÈëÔÚ³ÌÐòÌåÏÖÔÚ²»ÒªÆ´½Ósql×Ö·û´®£¬ ......
±¾ÎÄ´Ó¶à¸ö½Ç¶È²ûÊöÁËSQL ServerÓë´æ´¢¹ý³ÌµÄ±È½Ï¡£
¢ÙΪʲôҪʹÓô洢¹ý³Ì£¿
ÒòΪËü±ÈSQLÓï¾äÖ´Ðп졣
¢Ú´æ´¢¹ý³ÌÊÇʲô?
°ÑÒ»¶ÑSQLÓï¾äÂÞÔÚÒ»Æð,»¹¿ÉÒÔ¸ù¾ÝÌõ¼þÖ´Ðв»Í¨SQLÓï¾ä¡£
¢ÛÀ´Ò»¸ö×î¼òµ¥µÄ´æ´¢¹ý³Ì£º
CREATE PROCEDURE dbo.testProcedure_AX
AS
select userID from
USERS order by userid ......
ǰһ¶Îʱ¼äÔÚά»¤Ò»¸öÀÏÏîÄ¿µÄʱºò·¢ÏÖ£¬ÔÚÖ´ÐÐÒ»¸ö½Ï´óµÄ´æ´¢¹ý³Ìʱ£¬×ÜÊDZ¨“³£¹æÍøÂç´íÎó£¬Çë¼ì²éÄúµÄÍøÂçÎĵµ”¡£ÔÚºóÐøµÄά»¤¼ì²éÖз¢ÏÖ£¬ÊÇÊÂÎﳬʱµ¼ÖÂÖ´ÐÐÖÐÖ¹µÄ¡£
ÏÂÃæÊǵ÷Õû¹ý³Ì£º
Ò»¡¢°ÑSQL SERVERµÄµÈ´ýÏìӦʱ¼ ......
Æô¶¯ÓëÅäÖòÎÊý ¸ü¸ÄϵͳԪÊý¾ÝºÍ²ÎÊýÅäÖà ¶¯Ì¬ÊÓͼ ´æ´¢µÄÎïÀíºÍÂß¼½á¹¹ Æô¶¯ºÍ¹Ø±Õ
topÆô¶¯ÓëÅäÖòÎÊý
ÔÚSQL Server°²×°µÄʱºò£¬Í¬Ê±Ò²»áÍùWindows×¢²á±íÀïÃæÌí¼ÓһЩ¼Ç¼£¬ÕâЩע²á±í¼üÖµÖ¸¶¨ÁËʵÀýËùÐèÒªµÄ¸÷ÖÖ²ÎÊý¡£±ÈÈ磬ÓеÄ×¢²á±í¼üÖµÖ¸¶¨ÁË´íÎóÈÕÖ¾µÄ±£´æÄ¿Â¼£¬ÁíÍâµÄÖ¸¶¨ÁËĬÈϵı¸·ÝĿ¼µÈµÈ¡£SQL ServerÔÚÔ ......
¡¡¡¡1. SQL ServerµÄϵͳ±í
¡¡¡¡MicrosoftµÄSQL ServerÊÇÒ»¸ö¿ÉÉìËõµÄ¸ßÐÔÄÜÊý¾Ý¿â¹ÜÀíϵͳ£¬×¨Îª·Ö²¼Ê½¿Í»§»ú/·þ
ÎñÆ÷»·¾³¶øÉè¼Æ£¬SQL Server¼¸ºõ½«ËùÓеÄÅäÖÃÐÅÏ¢¡¢°²È«ÐÔÐÅÏ¢ºÍ¶ÔÏóÐÅÏ¢¶¼´æ´¢ÔÚÁËËü×Ô
ÉíµÄϵͳ±íÖУ¬¶øÏµÍ³±í´æÔÚÓÚÿ¸ö¶ÀÁ¢µÄÊý¾Ý¿âÖУ¬´æ´¢Ò»¸öÌØ¶¨Êý¾Ý¿â¶ÔÏóÐÅÏ¢µÄϵͳ±í
ͨ³£³ÆÎªÊý¾Ý¿âĿ¼£¬M ......