ʹÓà TRY/CATCH Óï¾ä½â¾ö SQL Server 2005 ËÀËø
¶ÔÓÚ½ñÌìµÄ RDBMS Ìåϵ½á¹¹¶øÑÔ£¬ËÀËøÄÑÒÔ±ÜÃâ — ÔÚ¸ßÈÝÁ¿µÄ OLTP »·¾³ÖиüÊǼ«ÎªÆÕ±é¡£ÕýÊÇÓÉÓÚ .NET µÄ¹«¹²ÓïÑÔÔËÐпâ (CLR) µÄ³öÏÖ£¬ SQL Server 2005 ²ÅµÃÒÔΪ¿ª·¢ÈËÔ±ÌṩһÖÖеĴíÎó´¦Àí·½·¨¡£ÔÚ±¾ÔÂרÀ¸ÖУ¬ Ron Talmage ΪÄú½éÉÜÈçºÎʹÓà TRY/CATCH Óï¾äÀ´½â¾öÒ»¸öËÀËøÎÊÌâ¡£
Ò»¸öʾÀýËÀËø
ÈÃÎÒÃÇ´ÓÕâÑùÒ»¸öʾÀý¿ªÊ¼ËµÆð£¬ËüÔÚ SQL Server 2000 ºÍ 2005 Öж¼ÄÜÒýÆðËÀËø¡£ÔÚ±¾ÎÄÖУ¬ÎÒʹÓà SQL Server 2005 µÄ×îРCTP£¨ÉçÇø¼¼ÊõÔ¤ÀÀ£¬Community Technology Preview£©°æ±¾£¬SQL Server 2005 Beta 2£¨7 Ô·¢²¼£©Ò²Í¬ÑùÊÊÓá£Èç¹ûÄúûÓÐ Beta 2 »ò×îÐ嵀 CTP °æ±¾£¬ÇëÏÂÔØ SQL Server 2005 Express µÄ×îа汾£¬ÓÃËüÀ´½øÐÐÊÔÑé¡£
¿ÉÄÜ·¢ÉúµÄËÀËøÇé¿öÓкܶ࣬[ ²ÎÔÄ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/acdata/ac_8_con_7a_3xrf.asp ÒÔ¼°ËÀËøÎÄÕÂÊ÷ÖеĺóÐøÎÄÕ¡£ — ±àÕß ]£¬µ«×îÓÐȤ¡¢×î΢ÃîµÄÊÇÄÇЩ¹ØÓÚÔĶÁÆ÷ºÍ±àдÆ÷»¥Ïà×èÈûµÄËÀËø¡£ÒÔÏ´úÂëÔÚ pubs Êý¾Ý¿âÖоͲúÉúÁËÕâÑùÒ»¸öËÀËø¡££¨Äú¿ÉÒÔÔÚ SQL Server 2000 µÄÁ½¸ö Query Analyzer ´°¿ÚÖлò SQL Server 2005 µÄÁ½¸ö Management Studio queries Öв¢ÁÐÔËÐÐÕâ¶Î´úÂë¡££©ÔÚÆäÖÐÒ»¸ö´°¿ÚÖеĴúÂëÕýÎÄÇ°ÃæÌí¼ÓÏÂÁÐÓï¾ä£º
-- Window 1 header
DECLARE @au_id varchar(11), @au_lname varchar(40)
SELECT @au_id = '111-11-1111', @au_lname = 'test1'
ÔÚµÚ¶þ¸ö´°¿ÚÖÐÌí¼ÓÏÂÁÐÓï¾ä£¬½øÐеڶþ´ÎÁ¬½Ó£º
-- Window 2 header
DECLARE @au_id varchar(11), @au_lname varchar(40)
SELECT @au_id = '111-11-1112', @au_lname = 'test2'
ÔÚÁ½¸ö´°¿ÚÖж¼Ê¹ÓÃÏÂÁÐÓï¾ä×÷Ϊ´úÂëÕýÎÄ£º
-- Body for both connections:
BEGIN TRANSACTION
INSERT Authors VALUES
(@au_id, @au_lname, '', '', '', '', '', '11111', 0)
WAITFOR DELAY '00:00:05'
SELECT *
from authors
WHERE au_lname LIKE 'Test%'
COMMIT
ÔÚµÚÈý¸ö´°¿ÚÖÐÔËÐÐÏÂÁÐÓï¾ä£¬È·±£ authors ±í¸ñÖÐûÓÐÈκΰüº¬ÒÔÏ id µÄÊý¾Ý£º
DELETE from authors WHERE au_id = '111-11-1111'
DELETE from authors WHERE au_id = '111-11-1112'
ÔÚ 5 ÃëÖÓÄÚͬʱִÐд°¿Ú 1 ºÍ ´°¿Ú 2¡£ÒòΪÿ¸ö´°¿Ú¶¼ÒªµÈ´ýÖÁÉÙ 5 ÃëÖÓµÄʱ¼ä²ÅÄÜ·¢³ö SELECT Óï¾ä£¬ËùÓÐÿ¸öÁ¬½Ó¶¼½«Íê³É INSERT ²Ù×÷£¬ÕâÑù¾Í±£Ö¤ÁËÁ½¸ö´°¿ÚÖÐµÄ INSERT ²Ù×÷ÔÚ¸÷×﵀ SELECT Óï¾ä·¢²¼Ç°¾ÍÒѾÍê³ÉÁË¡£Ã¿¸ö´°¿ÚÖÐµÄ S
Ïà¹ØÎĵµ£º
select * from tableName where datediff(week,dateField,getdate())=0
ÕâÑù²é³öÀ´µÄ½á¹ûÊÇ´ÓÐÇÆÚÌìµ½ÐÇÆÚÁù(ÀÏÍâĬÈÏÐÇÆÚÌìÊÇÒ»ÖܵĵÚÒ»Ìì).
Èç¹ûÏëÒÔÐÇÆÚÒ»×÷ΪµÚÒ»ÌìµÄ»°,Á½¸öʱ¼ä¶¼ÐèÒª¼õÒ»,ÈçÏÂ:
select * from tableName where datediff(week,dateField-1,getdate()-1)=0 ......
MSSQL»¹ÔÊý¾Ý¿âʧ°Ü£¬ÌáʾÈçÏ£º »¹Ô¶ÔÓë·þÎñÆ÷ ʧ°Ü¡£(Microsoft.SqlServer.Smo) ÆäËüÐÅÏ¢£º ©§ ©»¡úÖ´ÐÐTransact-SQLÓï¾ä»òÅú´¦Àíʱ·¢ÉúÒì³£¡££¨Microsoft.SqlServer.ConnectionsInfo£© ©§ ©»¡ú²»ÄÜÑ¡ÔñÎļþ»òÎļþ×é¡°¡¡¡±ÓÃÓڴ˲Ù×÷¡£ RESTORE DATABASE ÕýÔÚÒì³£ÖÕÖ¹¡££¨Microsoft SQL Server, ´íÎó£º3219£© ³öÏÖ´Ë ......
Ò»¡¢PowerDesignerÉú³ÉsqlÎÊÌâ
Éú³ÉsqlµÄ·½·¨ÊÇ Database -->Generate Database (Ctrl + G ) µ«ÊÇÌáʾ Could not load VBScript engine.
Check VBScript installation. Generation aborted due to errors detected during the verification of the model. ¼ì²éÁ˺þà ·¢ÏÖ½«check model È¥µô¾Í¿ÉÒÔÁË£¡ÆäÖУ¬ o ......
1. ¶¨ÒåÓα궨Òå
ÓαêÓï¾äµÄºËÐÄÊǶ¨ÒåÁËÒ»¸öÓαê±êʶÃû£¬²¢°ÑÓαê±êʶÃûºÍÒ»¸ö²éѯÓï¾ä¹ØÁªÆðÀ´¡£DECLAREÓï¾äÓÃÓÚÉùÃ÷Óα꣬Ëüͨ¹ýSELECT²éѯ¶¨ÒåÓÎ±ê´æ´¢µÄÊý¾Ý¼¯ºÏ¡£Óï¾ä¸ñʽΪ£º
DECLARE ÓαêÃû³Æ [INSENSITIVE] [SCROLL]
CURSOR FOR selectÓï¾ä
[FOR{READ ONLY|UPDATE[OF ÁÐÃû×Ö±í]}]
²ÎÊý˵Ã÷£º
INSENSITIVEÑ¡Ï ......
ÔÚSQL SERVERÖУ¬ÓÐʱÐèÒªºÏ¶àÁÐÖµµ½ÐеÄÐèÇ󣬳£¼ûµÄ·½·¨ÓУº1.´´½¨×Ô¶¨Ò庯Êý£¬2.ʹÓÃÓα귨½øÐÐ×Ö·û´®ºÏ²¢¡£3.ʹÓÃÁÙʱ±íʵÏÖ×Ö·û´®ºÏ²¢¡£ Êý¾Ý£º DEPTNO EMPS
------ ----------
10 CLARK
10 KING
10 MILLER
20 SMITH
20 ADAMS
20 FORD
20 SCOTT
20 JONES
30 ALLEN
30 BLAKE
30 MARTIN
30 JAMES
30 ......