SQL Server 2008 ¶Ô T SQL ÓïÑÔµÄÔöÇ¿
Microsoft SQL Server 2008 ¶Ô T-SQL ÓïÑÔ½øÐÐÁ˽øÒ»²½ÔöÇ¿¡£ÎªÁËÈÿª·¢ÈËÔ±¾¡¿ìÁ˽âÕâЩ±ä»¯£¬ÎÒÃÇÕë¶Ô 2007 Äê 6 Ô CTP °æ±¾µÄ SQL Server 2008 ÖÐµÄ T-SQL ÓïÑÔµÄÐÂÔö¹¦ÄܽøÐÐÁË·ÖÎöºÍ³¢ÊÔ¡£±¾ÎÄÃèÊö×Ô SQL Server 2008 CTP1 ÒÔÀ´ÕâЩÓïÑÔÔöÇ¿ºÍ±ä»¯¡£
¡¡¡¡±¾Îİüº¬ÈçÏÂÄÚÈÝ£º
¡¡¡¡· T-SQL Ðй¹ÔìÆ÷
¡¡¡¡· FORCESEEK ±íÌáʾ
¡¡¡¡· GROUPING SETS
¡¡¡¡· ¼æÈÝÐÔ¼¶±ð
¡¡¡¡· Óû§×Ô¶¨Òå±íÊý¾ÝÀàÐÍ
¡¡¡¡· ±íÖµ²ÎÊý
¡¡¡¡· MERGE Óï¾ä
¡¡¡¡±¾ÎÄÊÊÓÃÓÚ£ºMicrosoft)R) SQL Server(TM) 2008 Developer Edition June 2007 CTP
¡¡¡¡1¡¢T-SQL Ðй¹ÔìÆ÷
¡¡¡¡T-SQL Ðй¹ÔìÆ÷(Row Constructors)ÓÃÀ´ÔÚ INSERT Óï¾äÖÐÒ»´ÎÐÔ²åÈë¶àÐÐÊý¾Ý¡£ÀýÈ磺
CREATE TABLE #a
(
¡¡¡¡Column1 nvarchar(max),
¡¡¡¡Column2 nvarchar(max)
);
GO
INSERT INTO #a
VALUES (
('1', '1'),
('2', '2')
);
SELECT * from #a;
GO
DROP TABLE #a;
GO
¡¡¡¡¾¹ýÔöÇ¿ºóµÄ INSERT Óï¾äµÄÓï·¨½á¹¹ÈçÏ¡£
[ WITH <common_table_expression> [ ,...n ] ]
INSERT
¡¡¡¡[ TOP ( expression ) [ PERCENT ] ]
¡¡¡¡[ INTO ]
¡¡¡¡{ <object> | rowset_function_limited
¡¡¡¡¡¡[ WITH ( <Table_Hint_Limited> [ ...n ] ) ]
¡¡¡¡}
{
¡¡¡¡[ ( column_list ) ]
¡¡¡¡[ <OUTPUT Clause> ]
¡¡¡¡{ VALUES ( ( { DEFAULT | NULL | expression } [ ,...n ] ) [ ,...n ] )
¡¡¡¡| derived_table
¡¡¡¡| execute_statement
¡¡¡¡| <dml_table_source>
¡¡¡¡| DEFAULT VALUES
¡¡¡¡}
}
[; ]
<object> ::=
{
¡¡¡¡[ server_name . database_name . schema_name .
¡¡¡¡¡¡| database_name .[ schema_name ] .
¡¡¡¡¡¡| schema_name .
¡¡¡¡]
¡¡¡¡¡¡¡¡table_or_view_name
}
<dml_table_source> ::=
¡¡¡¡SELECT <select_list>
¡¡¡¡from ( <dml_statement_with_output_clause> )
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡[AS] table_alias [ ( column_alias [ ,...n ] ) ]
¡¡¡¡¡¡¡¡[ WHERE <search_condition> ]
¡¡¡¡[ OPTION ( <query_hint> [ ,...n ] ) ]
¡¡¡¡2. FORCESEEK Ìáʾ
FORCESEEK ÊÇÒ»¸öеıíÌáʾ(Table Hints)£¬ËüÓÃÀ´Ö¸¶¨ SQL Server ²éѯÓÅ»¯³ÌÐòÈçºÎ¸ü¸ßЧµÄÖ´Ðвéѯ¡£¸ÃÌáʾָʾÓÅ»¯³ÌÐò¶Ô²éѯÒýÓõıíºÍÊÓͼͨ¹ýË÷Òý¼ìË÷À´×÷ΪΨһµÄ²éѯִÐзÃÎ
Ïà¹ØÎĵµ£º
¿´¿´ÒÔÏÂSQLÓï¾ä£º
select row_number() over(partition by xs.xsbh, xs.kch order by coalesce(xs.bkxnxqh, xs.xnxqh) desc) rn
row_number()£º´ú±íÁÐ
partition by ´ú±í°´Ê²Ã´½øÐзÖ×é
order by¶Ôÿһ×éÐÅÏ¢½øÐÐÅÅÐò
coalesce()ÊÇÌæ»»µÄÒâ˼ ÀýÈ磺ÉÏÃæµÄSQLÓï¾äµÄÒâ˼ÊÇ£¬Èç¹ûbkxnxqhΪ¿Õ£¬ÄÇô¾ÍÈ¥xnx ......
ÔÚ°²×°Visual Studio+SQL ServerµÄ¿ª·¢»·¾³µÄʱºòÍùÍù»áÓкܶà´íÎ󣬯äÖÐ×îÂé·³µÄÒ»Ìõ¾ÍËÀ°²×°Íê³ÉÖ®ºóûÓÐÊý¾Ý¿â¹ÜÀí¹¤¾ß£¬¼´Ã»ÓÐSQL Server 2005 Management Studio¡£³öÏÖÕâÑùµÄÎÊÌâÖ÷ÒªÓÐÁ½¸öÔÒò£¬Ò»ÊÇϵͳÒѾ´æÔÚÆäËû°æ±¾µÄSQLÊý¾Ý¿â»òÕßExpress°æ±¾£¬¶þÊǰ²×°»·¾³µÄʱºòÏñÎÒÒ»ÑùÏȰ²×°ÁËVisual Studio 2005/2008£¬È» ......
²Ù×÷ϵͳµÄÖ§³Ö °æ±¾ºÍ·¢Ðаæ ʵÀý¡¢Êý¾Ý¿âºÍ±í¿Õ¼ä ʵÀýÃûºÍSID ϵͳÊý¾Ý¿âºÍϵͳ±í¿Õ¼ä
Ò»°ãµÄ¹«Ë¾Í¨³£»áÔÚËûÃǵÄÐÅϢϵͳ¼Ü¹¹ÖÐÒýÈë¶àÖÖÊý¾Ý¿âƽ̨£¬Í¬Ê±ÒýÈëÈýµ½ËÄÖÖ²»Í¬µÄRDBMS½â¾ö·½°¸µÄÖдóÐ͹«Ë¾Ò²²¢²»ÉÙ¼û£¬µ±È»ÕâЩ¹«Ë¾ÀïÃæµÄDBAÃÇͨ³£Ò²ÐèҪͬʱӵÓйÜÀí¶àÖÖ²»Í¬Æ½Ì¨µÄ¼¼ÄÜÁË¡£
Ö»ÔÚÒ»ÖÖÆ½Ì¨ÉÏÕ¹¿ª¹¤×÷µÄÊý¾Ý ......
Transact-SQL ÓïÑÔʹÓõÄÁ÷³Ì¿ØÖÆÃüÁîÓë³£¼ûµÄ³ÌÐòÉè¼ÆÓïÑÔÀàËÆÖ÷ÒªÓÐÒÔϼ¸ÖÖ¿ØÖÆÃüÁî¡£
4.6.1 IF…ELSE
Æä
Óï·¨ÈçÏ£º
IF <Ìõ¼þ±í´ïʽ>
<ÃüÁîÐлò³ÌÐò¿é>
[ELSE [Ìõ¼þ±í´ïʽ]
<ÃüÁîÐÐ
»ò³ÌÐò¿é>]
ÆäÖÐ<Ìõ¼þ±í´ïʽ>¿ÉÒÔÊǸ÷ÖÖ±í´ïʽµÄ×éºÏ£¬µ«±í´ïʽµÄÖµ±ØÐëÊÇÂß¼Öµ“Õæ&rdq ......