SQL Server 2008对T-SQL语言的增强

2009-05-12 20:24:13来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

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 语句中一次性插入多行数据。例如:

以下为引用的内容:

CREATETABLE#a
(
  Column1nvarchar(max),
  Column2nvarchar(max)
);
GO
INSERTINTO#a
VALUES(
('1','1'),
('2','2')
);
SELECT*FROM#a;
GO
DROPTABLE#a;
GO

经过增强后的 INSERT 语句的语法结构如下。

以下为引用的内容:

[WITH<common_table_expression>[,...n]]
INSERT 
  [TOP(expression)[PERCENT]] 
  [INTO] 
  {<object>|rowset_function_limited 
   [WITH(<Table_Hint_Limited>[...n])]
  }
{
  [(column_list)] 
  [<OUTPUTClause>]
  {VALUES(({DEFAULT|NULL|expression}[,...n])[,...n])
  |derived_table 
  |execute_statement 
  |<dml_table_source>
  |DEFAULTVALUES 
  } 
} 
[;]
<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 提示

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:SQL Server 2008批量删除及插入的方法

下一篇:SQL Server 2008中不推荐及不支持的功能