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

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

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

      3. GROUPING SETS

  新的 T-SQL 对 GROUP BY 子句增加了 GROUPING SETS, ROLLUP 和 CUBE 操作符。还有一个新的函数 GROUPING_ID(),它相比 GROUPING() 函数返回更多分组级别的信息。WITH ROLLUP, WITH CUBE 和 ALL 等非 ISO 标准语法已经不再有效。

  4. 兼容性级别

  新的 ALTER DATABASE SET COMPATIBILITY_LEVEL 语法替换了 sp_dbcomplevel 存储过程。它用来设置特定数据库的兼容性级别。其语法形式为:

以下是引用片段:
ALTER DATABASE database_name  
SET COMPATIBILITY_LEVEL = { 80 | 90 | 100 }
 

  您可以为 database_name 为名称的数据库设置特定兼容性级别。80、90 和 100 分别代表 SQL Server 2000、SQL Server 2005 和 SQL Server 2008。

  5. 用户自定义表数据类型

  现在,SQL Server 提供一种新的用户自定义数据类型——自定义表数据类型(User-defined Table Types)。它可以作为参数提供给语句、存储过程或者函数。您还可以为它创建唯一约束和主键。

  请使用 CREATE TYPE 语句创建这种数据类型。如:

以下是引用片段:
USE AdventureWorks;
GO
/**//* Create a user-defined table type */
CREATE TYPE LocationTableType AS TABLE 
( LocationName VARCHAR(50)
, CostRate INT );
GO

  对于表类型,有如下约束:

  1、用户自定义表类型不能作为表的列或者结构化用户自定义类型的域。
  2、基于用户自定义表类型的别名类型。
  3、不允许 NOT FOR REPLICATION 选项。
  4、CHECK 约束需要一个计算列。
  5、在计算列上的主键必须包含 NOT NULL 和 PERSISTED 约束。
  6、不能在用户自定义表类型上创建非簇索引。除非索引是创建 PRIMARY KEY 或 UNIQUE 约束的返回值。
  7、不能指定 DEFAULT 值。
  8、一旦用户自定义表类型被创建,则它就无法更改。
  9、如果没有定义用户自定义表类型上的计算列,则用户自定义函数无法调用。

  6. 表值参数

  数据库引擎现在支持一种新的参数类型来引用用户自定义表类型(参考 5)。表值参数可以发送更多的 SQL Server 数据。

  下面的示例展示了如何使用表值参数。

以下是引用片段:
USE AdventureWorks;
GO
/**//* Create a table type. */
CREATE TYPE LocationTableType AS TABLE 
( LocationName VARCHAR(50)
, CostRate INT );
GO
/**//* Create a procedure to receive data for the table-valued parameter. */
CREATE PROCEDURE usp_InsertProductionLocation
    @TVP LocationTableType READONLY
    AS 
    SET NOCOUNT ON
    INSERT INTO [AdventureWorks].[Production].[Location]
           ([Name]
           ,[CostRate]
           ,[Availability]
           ,[ModifiedDate])
        SELECT *, 0, GETDATE()
        FROM  @TVP;
        GO
/**//* Declare a variable that references the type. */
DECLARE @LocationTVP 
AS LocationTableType;
/**//* Add data to the table variable. */
INSERT INTO @LocationTVP (LocationName, CostRate)
    SELECT [Name], 0.00
    FROM 
    [AdventureWorks].[Person].[StateProvince];
/**//* Pass the table variable data to a stored procedure. */
EXEC usp_InsertProductionLocation @LocationTVP;
GO

  7. MERGE 语句

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

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

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

用户名: ! 查看更多评论

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

内 容: !

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

频道栏目导航

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

本类热门阅览

  • · Windows下如何用vc直接编译连接DDK...
  • · 如何为Vista/Win2008中的IIS7添加P...
  • · 如何建立SQL Server 2005数据库邮件...
  • · sql 2000与sql 2005相互转移的问题...
  • · C# 怎样实现远程连接SQL Server200...
  • · SQL Server2005数据库连接中常见问...
  • · VS 2008和老的VS 2005附件包的兼容...
  • · SQL 2005 XML最佳实施策略用法
  • · Sql server 2005密码安全追踪与存储...
  • · SQL Server2005高可用性方面的不足...
  • · 在SQL Server 2005中解决死锁问题
  • · 黑客编程:Delphi写QQ聊天记录器演示...

相关文章

  • ·微软SQL Server 2008令商业智能平民化
  • ·SQL Server与Oracle数据库在安全性上的异同
  • ·[图文]微软宣布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开发人员应聘常被问的问题汇总
关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 - 管理登陆
网站备案号:沪ICP备06047794号
本站的各类网络聊天工具,系统工具,媒体工具,绿色软件如有侵犯你的版权,请指出,本站将立即改正。
建议您使用1024*768分辨率浏览下载本站的免费软件(绿色软件)资源
软件站版权所有:PC我爱社区 站长:子昀 点击这里和我联系