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 ϵͳȫ¾Ö±äÁ¿
@@CONNECTIONS
·µ»Ø×ÔÉÏ´ÎÆô¶¯ÒÔÀ´Á¬½Ó»òÊÔͼÁ¬½ÓµÄ´ÎÊý¡£
@@CURSOR_ROWS
·µ»ØÁ¬½ÓÉÏ×îºó´ò¿ªµÄÓαêÖе±Ç°´æÔڵĺϸñÐеÄÊýÁ¿(·µ»Ø±»´ò¿ªµÄÓαêÖл¹Î´±»¶ÁÈ¡µÄÓÐЧÊý¾ÝÐеÄÐÐÊý)
@@DATEFIRST
·µ»ØÃ¿ÖܵÚÒ»ÌìµÄÊý×Ö
@@ERROR
·µ»Ø×îºóÖ´ÐеÄSQL Óï¾äµÄ´íÎó´úÂë¡£
@@FETCH_STATUS
·µ»Ø ......
ǰһ¶Îʱ¼äÔÚά»¤Ò»¸öÀÏÏîÄ¿µÄʱºò·¢ÏÖ£¬ÔÚÖ´ÐÐÒ»¸ö½Ï´óµÄ´æ´¢¹ý³Ìʱ£¬×ÜÊDZ¨“³£¹æÍøÂç´íÎó£¬Çë¼ì²éÄúµÄÍøÂçÎĵµ”¡£ÔÚºóÐøµÄά»¤¼ì²éÖз¢ÏÖ£¬ÊÇÊÂÎﳬʱµ¼ÖÂÖ´ÐÐÖÐÖ¹µÄ¡£
ÏÂÃæÊǵ÷Õû¹ý³Ì£º
Ò»¡¢°ÑSQL SERVERµÄµÈ´ýÏìӦʱ¼ ......
²Ù×÷ϵͳµÄÖ§³Ö °æ±¾ºÍ·¢Ðаæ ʵÀý¡¢Êý¾Ý¿âºÍ±í¿Õ¼ä ʵÀýÃûºÍSID ϵͳÊý¾Ý¿âºÍϵͳ±í¿Õ¼ä
Ò»°ãµÄ¹«Ë¾Í¨³£»áÔÚËûÃǵÄÐÅϢϵͳ¼Ü¹¹ÖÐÒýÈë¶àÖÖÊý¾Ý¿âƽ̨£¬Í¬Ê±ÒýÈëÈýµ½ËÄÖÖ²»Í¬µÄRDBMS½â¾ö·½°¸µÄÖдóÐ͹«Ë¾Ò²²¢²»ÉÙ¼û£¬µ±È»ÕâЩ¹«Ë¾ÀïÃæµÄDBAÃÇͨ³£Ò²ÐèҪͬʱӵÓйÜÀí¶àÖÖ²»Í¬Æ½Ì¨µÄ¼¼ÄÜÁË¡£
Ö»ÔÚÒ»ÖÖÆ½Ì¨ÉÏÕ¹¿ª¹¤×÷µÄÊý¾Ý ......
xtype ´ú±íÀàÐÍ
C = CHECK Ô¼Êø
D = ĬÈÏÖµ»ò DEFAULT Ô¼Êø
F = FOREIGN KEY Ô¼Êø
L = ÈÕÖ¾
FN = ±êÁ¿º¯Êý
IF = ÄÚǶ±íº¯Êý
P = ´æ´¢¹ý³Ì
PK = PRIMARY KEY Ô¼Êø£¨ÀàÐÍÊÇ K£©
RF = ¸´ÖÆÉ¸Ñ¡´æ´¢¹ý³Ì
S = ϵͳ±í
TF = ±íº¯Êý
TR = ´¥·¢Æ÷
U = Óû§±í
UQ = UNIQUE Ô¼Êø£¨ÀàÐÍÊÇ K£©
V = ÊÓͼ ......