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
Ïà¹ØÎĵµ£º
C# Êý¾Ý¿âÖ®ÂÃ……
¼ÌÐø½ø¹¥²ã³ö²»ÇîµÄproblems
ÔÚÉÏһƪÄÚÈݵĻù´¡ÉÏ£¬ÎÒÓÖ×÷ÒԸĽø£¬ÏÖÔÚµÄÇé¿öÊÇÕâÑùµÄ£º
//In Browseuser form
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System ......
ÓеÄʱºòÎÒÃÇÐèÒªÒ»´ÎÏñÊý¾Ý¿âÖÐÌí¼Ó¶àÌõ¼Ç¼£¬ÎÒÃÇ¿ÉÒÔʹÓÃÏÂÃæµÄÓï¾äÀ´ÊµÏÖ£º
--Ìí¼ÓÒ»Ìõ¼Ç¼
INSERT INTO tableName(col1,col2,col3) VALUES (1,2,3)
--Ìí¼Ó¶àÌõ¼Ç¼
INSERT INTO tableName(col1,col2,col3)
SELECT 3,4,5
UNION ALL
SELECT 6,7,8
--´ÓÁíÍâµÄÒ»ÕűíÖжÁÈ¡¶àÌõÊý¾ÝÌí¼Óµ½Ð±íÖÐ
INSERT INTO tabl ......
SQL Server ϵͳȫ¾Ö±äÁ¿
@@CONNECTIONS
·µ»Ø×ÔÉÏ´ÎÆô¶¯ÒÔÀ´Á¬½Ó»òÊÔͼÁ¬½ÓµÄ´ÎÊý¡£
@@CURSOR_ROWS
·µ»ØÁ¬½ÓÉÏ×îºó´ò¿ªµÄÓαêÖе±Ç°´æÔڵĺϸñÐеÄÊýÁ¿(·µ»Ø±»´ò¿ªµÄÓαêÖл¹Î´±»¶ÁÈ¡µÄÓÐЧÊý¾ÝÐеÄÐÐÊý)
@@DATEFIRST
·µ»ØÿÖܵÚÒ»ÌìµÄÊý×Ö
@@ERROR
·µ»Ø×îºóÖ´ÐеÄSQL Óï¾äµÄ´íÎó´úÂë¡£
@@FETCH_STATUS
·µ»Ø ......
Êý¾Ý¿âʵÀý½á¹¹ ÊÂÎñÒ»ÖÂÐÔ(Transactional Consistency)ºÍ»ùÓÚʱ¼äµãµÄ»Ö¸´(Point-in-time Recovery) ϵͳԪÊý¾Ý
topÊý¾Ý¿âʵÀý½á¹¹
µ±OracleʵÀýÆô¶¯Ö®ºó£¬Ëù¿´µ½µÄ¾ÍÊÇÔÚ·þÎñÆ÷ÄÚ´æÉϵÄÒ»¸ö¸ö²»Í¬ÄÚ´æ¿é¼ÓÉϲúÉúµÄÓëÕâЩÄÚ´æ½»»¥µÄºǫ́½ø³Ì¡£OracleÎĵµ½«ÕâЩÄÚ´æ½á¹¹ºÍ½ø³ÌÊյĺÜÏêϸ¡£
ÓÉOracleʵÀýËùÕ¼ÓõÄÄÚ´æ¿é³ ......
SQL ServertimestampÊý¾ÝÀàÐÍÓëʱ¼äºÍÈÕÆÚÎ޹ء£SQL ServertimestampÊǶþ½øÖÆÊý×Ö£¬Ëü±íÃ÷Êý¾Ý¿âÖÐÊý¾ÝÐ޸ķ¢ÉúµÄÏà¶Ô˳Ðò¡£ÊµÏÖtimestampÊý¾ÝÀàÐÍ×î³õÊÇΪÁËÖ§³Ö SQL Server »Ö¸´Ëã·¨¡£Ã¿´ÎÐÞ¸Äҳʱ£¬¶¼»áʹÓõ±Ç°µÄ @@DBTS Öµ¶ÔÆä×öÒ»´Î±ê¼Ç£¬È»ºó @@DBTS ¼Ó1¡£ÕâÑù×ö×ãÒÔ°ïÖú»Ö¸´¹ý³ÌÈ·¶¨Ò³Ð޸ĵÄÏà¶Ô´ÎÐò£¬µ«ÊÇtimest ......