WEB开发网
开发学院数据库MSSQL Server SQL Server 2008 对 T-SQL 语言的增强 阅读

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

 2007-07-15 09:46:28 来源:WEB开发网   
核心提示:Microsoft SQL Server 2008 对 T-SQL 语言进行了进一步增强,为了让开发人员尽快了解这些变化,SQL Server 2008 对 T-SQL 语言的增强,我们针对 2007 年 6 月 CTP 版本的 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 提示

1 2 3 4 5  下一页

Tags:sql server sql

编辑录入:coldstar [复制链接] [打 印]
赞助商链接