newasp home
用户管理  |  用户注册
首 页 ┆ 文章中心 ┆ 下载中心 ┆ 图片中心 ┆ 社区论坛 ┆ 客户留言
  • 站点首页
  • 电脑网络技术
  • 图形图像技术
  • 网络应用
  • 多媒体技术
  • 电脑入门初步
  • 网络推广技术
  • 数据库设计
  • Linux技术
  • 网络动态
用户名: 密码:
当前位置:PC我爱社区 → 文章中心 → 数据库设计 → 文章内容

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

减小字体 增大字体 作者:网络  来源:转载  发布时间:2008-6-18 19:48:59

COOCO视频会议实现沟通创造价值!    影视制作、广告摄影、3D制作、企业形象策划
文红论文网提供各类论文发表和翻译 像素科技--全力推出主机租用特惠行动!

        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 查询优化程序如何更高效的执行查询。该提示指示优化程序对查询引用的表和视图通过索引检索来作为唯一的查询执行访问路径。也就是强制通过索引检索数据。例如:

以下是引用片段:
USE tempdb;
GO
DROP TABLE t;
GO
CREATE TABLE t(i int UNIQUE, j int, vc varchar(100));
CREATE INDEX t_vc ON t(vc);
GO
DECLARE @p1 int, @p2 int, @p3 int, @p4 int, @p5 int;
SELECT * FROM t WHERE i IN (@p1, @p2, @p3, @p4, @p5);
GO
DECLARE @p1 int, @p2 int, @p3 int, @p4 int, @p5 int;
SELECT * FROM t WITH (FORCESEEK) WHERE i IN (@p1, @p2, @p3, @p4, @p5);
GO
SELECT * FROM t WHERE vc LIKE 'Test%';
GO
SELECT * FROM t WITH (FORCESEEK) WHERE vc LIKE 'Test%';
GO
DECLARE @vc varchar(100);
SELECT * FROM t WHERE vc LIKE @vc;
GO
DECLARE @vc varchar(100);
SELECT * FROM t WITH (FORCESEEK) where vc like @vc;
GO

[1] [2] [3]  下一页

[] [返回上一页] [打 印]
  • ·上一篇文章:SQL Server 2008的新压缩特性
  • ·下一篇文章:SQL Server 2008服务器合并功能介绍

文章评论评论内容只代表网友观点,与本站立场无关!

用户名: ! 查看更多评论

分 值:100分 85分 70分 55分 40分 25分 10分 0分

内 容: !

         (注“!”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

频道栏目导航

  • 电脑网络技术
  • 图形图像技术
  • 网络应用
  • 多媒体技术
  • 电脑入门初步
  • 网络推广技术
  • 数据库设计
  • Linux技术
  • 网络动态
  • 更多分类

本类热门阅览

  • · Windows下如何用vc直接编译连接DDK...
  • · 如何建立SQL Server 2005数据库邮件...
  • · C# 怎样实现远程连接SQL Server200...
  • · SQL 2005 XML最佳实施策略用法
  • · SQL Server2005高可用性方面的不足...
  • · SQL Server2005数据库连接中常见问...
  • · 在SQL Server 2005中解决死锁问题
  • · Sql server 2005密码安全追踪与存储...
  • · VS 2008和老的VS 2005附件包的兼容...
  • · sql 2000与sql 2005相互转移的问题...
  • · Windows操作系统下JSP程序开发环境...
  • · 专家预言:PHP将比Java更受开发人员...

相关文章

  • ·[图文]微软宣布SQL Server 2008已下载45万次
  • ·浅析SQL Server 2008企业级新特性
  • ·微软发布Visual Studio 2008 SP1 全面支持SQL Serve...
  • ·Oracle与SQL Server选型时不得不说的三个小差异
  • ·Oracle与SQL Server选型时不得不说的三个小差异
  • ·[图文]SQL Server 2008基于策略的管理
  • ·初探SQL Server 2008商业智能
  • ·SQL Server 2000的安全配置
  • ·一些文档中没有介绍的SQL Server DBCC命令
  • ·SQL Server开发人员应聘常被问的问题汇总
  • ·SQL Server开发过程中的十种常见问题总结
  • ·解析SQL Server 2008的精妙之处
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登陆
网站备案号:沪ICP备06047794号
本站的各类网络聊天工具,系统工具,媒体工具,绿色软件如有侵犯你的版权,请指出,本站将立即改正。
建议您使用1024*768分辨率浏览下载本站的免费软件(绿色软件)资源
软件站版权所有:PC我爱社区 站长:子昀 点击这里和我联系