SQL Server 2008对T-SQL语言的增强
作者: 周融, 出处:knowsky, 责任编辑: 李书琴,
2007-10-16 10:12
Microsoft SQL Server 2008 对 T-SQL 语言进行了进一步增强。为了让开发人员尽快了解这些变化,本文描述自 SQL Server 2008 CTP1 以来这些语言增强和变化……
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 ] ) ] |
- 本文关键词:

