SQL Server 2005中的T-SQL

sql server 2005 T-SQL BACKUP (Transact-SQL) 备份整个数据库,或者备份一个或多个文件或文件组 (BACKUP DATABASE)。另外,在完整恢复模式或大容量日志恢复模式下备份事务日志 (BACKUP LOG)。 Transact-SQL 语法约定 语法 Backing Up a Whole Database BACKUP DATABASE { database_name | @database_nam 阅读详情
简介

  将于12月份发布的SQL Server 2005目前正处于准备阶段,最近,我研究了一份对Edgewood Solutions客户进行的调查,调查中询问他们认为什么是微软的新发布的数据库中最有价值的特性。一个不分职位、行业、公司规模和从业时间的常见回答就是加强的T-SQL。这些发现可以作为以下有关Transact-SQL编程扩展的贴士的基础。

  错误处理:TRY 和CATCH

  将行转换为列:PIVOT 和UNPIVOT

  XML改进

  贴士1:用TRY和CATCH进行错误处理

  自带的错误处理是T-SQL经常被用来与其他语言进行比较的缺点。SQL Server 2005引入了TRY和CATCH,与其他许多数据库一样。通过使用这种许多开发人员和数据库管理员都熟悉的方式来进行错误处理将大大提高对SQL Server的信心。

  BEGIN TRY

  SELECT 1/0;

  END TRY

  BEGIN CATCH

  SELECT

  ERROR_NUMBER() AS ErrorNumber,

  ERROR_SEVERITY() AS ErrorSeverity,

  ERROR_STATE() AS ErrorState,

  ERROR_PROCEDURE() AS ErrorProcedure,

  ERROR_LINE() AS ErrorLine,

  ERROR_MESSAGE() AS ErrorMessage;

  END CATCH;

  通过PIVOT 和UNPIVOT将行转换为列

  一位在保健公司上班的开发人员每当她的报告用户想要将行转换为列的时候,抱怨不止。这并不是一次良好的会话。她不得不编写一些需要执行好多个CPU周期的复杂的代码来给用户提供他们想要的数据,对这些数据的要求是在正式报告需求基础之上产生的。这些痛苦的会话在SQL Server 2005引入PIVOT和UNPIVOT命令之前是常见的事。这两个命令可以在几乎不需要修改代码的情况下快速地将行转换为列或者由列转换为行。

  USE AdventureWorks;

  GO

  SELECT VendorID, [164] AS Emp1, [198] AS Emp2, [223] AS Emp3, [231] AS Emp4, [233] AS Emp5

  FROM

  (SELECT PurchaseOrderID, EmployeeID, VendorID

  FROM Purchasing.PurchaseOrderHeader) p

  PIVOT

  (

  COUNT (PurchaseOrderID)

  FOR EmployeeID IN

  ( [164], [198], [223], [231], [233] )

  ) AS pvt

  ORDER BY VendorID

  资源: 使用 PIVOT 和UNPIVOT, SQL Server 2005 在线书籍:ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.en/udb9/html/24ba54fc-98f7-4d35-8881-b5158aac1d66.htm

  改进的XML

  XML普遍应用在通过许多异构的环境进行数据传输和在许多微软的应用程序之间传输数据上;SQL Server 2005 XML特性改善了创建、存储、传输和查询XML数据的内在能力。现在可以在SQL Server中自然地完成如下:

  创建一个可以被表的某列引用的XML计划

  CREATE XML SCHEMA COLLECTION [ . ]sql_identifier AS Expression

  为一个表创建一个本地的数据类型,这个表在创建的时候具有指向XML计划集合的指针,同时这个表放在与基本表不同的数据页上,就像SQL Server 2000中的BLOB。

  CREATE TABLE Orders

  (OrderID int PRIMARY KEY NOT NULL,

  OrderDetailsID int NOT NULL,

  OrderDate datetime NOT NULL,

  …

  XMLOrder xml NOT NULL)

  为存储过程或者特别的事务创建一个变量作为XML数据类型

  DECLARE @OrdersSchema xml

  …

  CREATE XML SCHEMA COLLECTION OrdersSchema AS @OrdersSchema

  通过创建主要和第二索引来提高对XML数据访问的速度

  CREATE PRIMARY XML INDEX PXML_Orders_OrderID

  ON OrdersSchema.Orders (OrderID);

  GO

  CREATE XML INDEX SXML_Order_OrderDetailsID

  ON OrdersSchema.Orders (OrderDetailsID)

  USING XML INDEX PXML_Orders_OrderID FOR PATH ;

  GO

  通过一个简单的SELECT语句来查询XML数据,将XML作为结果集的一部分,与表中余下的字段一起返回。

  SELECT *

  FROM Orders

  WHERE OrderID = 123

掌握SQL Server 2005 T-SQL编程精髓 本书《Pro T-SQL 2005 Programmer’s Guide》详细介绍了SQL Server 2005 T-SQL编程的多项新功能,包括与SQL Server交互的新工具、处理XML的新方法、.NET集成、内置加密功能、T-SQL关键字和函数的增强,以及对现有T-SQL语句的改进。作者Michael Coles以专业开发者的需求为出发点,提供了丰富的代码示例,旨在帮助有经验的T-SQL和SQL程序员充分利用SQL Server 2005的全部潜力。 阅读详情

相关推荐

SQL Server 2005的T-SQL新功能深度解析

本文深入探讨了SQL Server 2005中的T-SQL语言增强功能,包括新的数据类型、操作符、关键字、函数,以及用户定义函数、存储过程、触发器等高级编程概念。同时,还涉及了数据加密、错误处理、动态SQL、XML支持等重要主题,并提供了编程风格和代码样例,帮助读者掌握如何利用这些工具进行高效的数据管理。

weixin_35578748的博客 705

SQL server 2005数据库的创建和管理

SQL server 2005数据库的创建和管理 在SQL Server 2005中创建和管理数据库的方法主要有两种:一是在SQL Server Management Studi方便的图形化向导创建,二是通过执行Transact-SQL语句创建和管理数据库。 1.使用SQL Server Management Studio创建数据库。 利用SQL Server Management Studio对...

yi_xxxx的博客 3056

深入理解SQL Server 2005 T-SQL与开发者成长之路

本文将深入探讨迈克尔·科尔斯所著的SQL Server 2005 T-SQL书籍,解析其对数据库开发者的重要作用。从作者背景和贡献者的视角出发,文章将分析书中提及的关键工具、编程技巧以及对SQL Server 2000程序员的新特性。本书不仅作为编程指南,也是一份对数据库行业专业人士的致敬。

weixin_34438187的博客 351

sql server 2005 T-SQL ALETER 命令集合

ALTER ASSEMBLY (Transact-SQL)更新日期: 2005 年 12 月 5 日 通过修改程序集的 SQL Server 目录属性更改程序集。ALTER ASSEMBLY 将程序集刷新为保存其实现的 Microsoft .NET Framework 模块的最新副本,并添加或删除与之关联的文件。可以使用 CREATE ASSEMBLY 创建程序集。 Tr

曹振华 1984

SQL Server 2005中的T-SQL加密与错误处理技术

本文深入探讨了SQL Server 2005中T-SQL加密技术的实现方式,包括对称密钥的加密与解密、非对称密钥的使用、以及Passphrase加密方法。此外,文章还介绍了错误处理的新模型TRY...CATCH,该模型提供了更为现代和高效的错误捕获机制,对于数据库开发者而言,能够更加精确地定位和处理存储过程或触发器中的异常。

weixin_36289742的博客 334

微信聊天记录丢失原因与恢复方案详解

SQLite数据库作为移动应用常见的本地存储方案,其加密机制和存储结构直接影响数据安全性。以微信为例,聊天记录存储在EnMicroMsg.db等SQLite文件中,采用AES加密保护。当手机清理工具误删这些文件时,会导致特定时间段记录丢失。理解数据恢复原理需要掌握文件系统删除机制和闪存特性,其中关键点包括TRIM指令的影响和数据块覆盖风险。通过专业工具如DiskDigger或iMyFone D-Back,配合ADB调试和SQLite数据重组技术,可在黄金时间窗口内恢复记录。日常维护建议结合自动化备份方案和存

weixin_32612263的博客 386

T-SQL Enhancement in SQL Server 2005[上篇]

http://www.cnblogs.com/artech/archive/2007/08/23/867412.html 较之前一版本,SQL Server 2005可以说是作出了根本性的革新。对于一般的编程人员来说,最具吸引力的一大特性就是实现了对CLR的寄宿,使我们可以使用任意一种.NET Programming Language来编写Stored Procedure、Function、Tr...

weixin_34163741的博客 261

Scrum中敏捷项目经理(Scrum Master)扮演什么角色?

Scrum Master是Scrum团队中的“服务员”,负责确保所有人都能理解Scrum的理论、实践和规则,以及帮助团队最大化Scrum的利益。Scrum Master服务于Product Owner,帮助Product Owner理解如何使团队的工作最有效地满足产品目标。Scrum Master服务于Development Team,移除开发团队工作上的障碍,保证团队按照Scrum的方式运作。Scrum Master不是团队领导。Scrum团队是自组织的,意味着团队具有做出决策的能力。

huaqianzkh的专栏 2516

SQL Server 2005 T-SQL Apply

SQL Server 2005 T-SQL Apply透过执行计划可以看出,cross apply类似不带where条件的连接即cross join 。形式上会灵活些. 使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入 。通过对右输入求值来获得左输入每一行的计算结果,生成的行被组合起来作为最终输出。APPLY 运算符...

weixin_34337381的博客 185

android+音乐节拍检测,科学网—音乐节拍跟踪或音乐节拍检测软件,LilyBeats alpha - 石自强的博文...

我们设计并实现了一种用于实时跟踪音乐节拍的软件。该软件可以用于智能灯方案提供商,为其提供灯光随音乐变化的核心解决方案。首先给出软件的下载链接:或者音乐节拍是乐曲中表示固定单位时值和强弱规律的组织形式,亦称拍子。它有两个特性:周期性和连续性。节拍周期性表现为节拍结构,是乐曲中周期性出现的节奏序列。节拍连续性表现为音乐的平均速度,其单位为bpm(beat per minute每分钟音乐节拍的个数)。音...

weixin_39571403的博客 1401

开关电源三大基本拓扑:反激、正激与桥式选型本质

开关电源拓扑是电力电子系统设计的核心基础概念,其本质决定能量传递路径、器件应力分布与系统物理边界。反激拓扑以耦合电感形式实现隔离与升降压,适用于小功率AC-DC场景;正激拓扑依赖实时能量传递与强制复位机制,支撑中功率高效率需求;桥式拓扑(含推挽/半桥/全桥)通过电压应力分摊与双向磁化,成为大功率系统的刚性选择。理解三者在磁芯工作模式、电流连续性、直流偏磁抑制等方面的原理差异,直接关系到效率、温升、EMI及可靠性等关键技术指标。本文聚焦反激、正激、桥式三大工程级基本拓扑的物理本质与落地约束,揭示从需求参数到电

cqwmy840702的博客 376

sql server 2005 T-SQL BEGIN DIALOG CONVERSATION (Transact-SQL)

启动从一个服务到另一个服务的对话。所谓对话,就是让两个服务能够进行一次顺序消息传递。 Transact-SQL 语法约定 语法 BEGIN DIALOG [ CONVERSATION ] @dialog_handle FROM SERVICE initiator_service_name TO SERVICE target_service_name

曹振华 3068

中国ETF基金行情数据API接口

上交所:https://tsanghi.com/api/fin/etf/XSHG/daily?token={token}&ticker={ticker} 深交所:https://tsanghi.com/api/fin/etf/XSHE/daily?token={token}&ticker={ticker}

2401_83242712的博客 4031

《Microsoft SQL Server 2005技术内幕:T-SQL查询》 勘误表

 《Microsoft SQL Server 2005技术内幕:T-SQL查询》 勘误表 本书英文版勘误: http://www.sql.co.il/books/insidetsql2005/corrections.htm 本勘误最后更新日期: 2008-12-26更新日期发现人位置勘误2007-10-14T. Wong, Arik Fr

立东的专栏 2755

uniapp - 微信授权登录报错 errMsg“:“login:fail send“ | “code“:-100 | “innerCode“:-6,解决uni-app调用微信登录时没有响应且返回错误

uni-app,微信登录,微信登录报错,微信小程序,支付宝小程序,安卓app,苹果ios,nvue,H5网页网站,uniapp苹果安卓app,微信授权登录,uniAppAPP端微信登录报错,微信确认登录界面后点击登录报错,"errMsg":"login:failsend","errCode":-100,"code":-100,"innerCode":-6,都配置好了还是报错怎么办,uniapp微信授权登录报错,UniApph5对接微信登录出现错误,appid,应用签名,微信登陆,code:-100

🏆 前端领域优质创作者 1万+

Python-编写点云处理软件(二)点云软件ui制作之仿CC界面

至本篇结束,我们已经能够获得一个有点模子的界面了,但是具体的功能还没有编写,后续的文章将逐渐完善功能。

weixin_43894929的博客 3953

SQL Server 2005技术内幕:T-SQL程序设计》:四部经典之二

本书是微软“SQL Server 2005技术内幕”四部之二。之一是《SQL Server 2005技术内幕:T-SQL查询》,讲的是基本的增删改查的语法。本书讲的是提供流控制、输出、变量声明和处理以及我们在大部分非数据库编程语言中可以找到的其他功能,如decalre、begin、if、else、waitfor、print等。同样非常经典,非常值得阅读。以下抄录部分精彩内容:1:不

vincent_zuo的专栏 937

玩转企业微信群机器人:一份超详细的Webhook消息推送指南

企业微信群机器人是一个连接内部协作与外部服务的强大桥梁。通过灵活运用本文介绍的各种消息类型,你可以构建出丰富多彩、信息明确的自动化通知系统,极大地提升团队沟通效率。现在,就动手试试,将你的第一个机器人集成到工作流中吧!如果你有任何有趣的机器人应用场景或遇到了问题,欢迎在评论区留言交流!

代码简单说 Vue、JAVA、PHP、Node.js 熟练运用,接口、架构、性能全搞定。 3977

T-SQL Enhancement in SQL Server 2005[下篇]

在第一部分中,我们讨论了APPLY和CTE这两个T-SQL Enhancement。APPLY实现了Table和TVF的Join,CTE通过创建“临时的View”的方式使问题化繁为简。现在我们接着来讨论另外两个重要的T-SQL Enhancement Items:PIVOT和Ranking。...

chunjing7851的博客 108

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

SQL Server 2005中的T-SQL增强

丰富的数据类型 Richer Data Types1、varchar(max)、nvarchar(max)和varbinary(max)数据类型最多可以保存2GB的数据,可以取代text、ntext或image数据类型。CREATE TABLE myTable(    id INT,    content VARCHAR(MAX))2、XML数据类型XML数据类型允

宛如梦幻的专栏 657

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

SQL Server 2005 T-SQL cross Apply 与outer apply

SQL Server 2005 T-SQL Apply透过执行计划可以看出,cross apply类似不带where条件的连接即cross join (交叉连接即笛卡尔积:返回行数为:前表符合条件的行乘上后表符合条件的行) 。形式上会灵活些.使用 APPLY 运算符可以为实现查询操作的外部表表达式返回的每个行调用表值函数。表值函数作为右输入,外部表表达式作为左输入。通过对右输入求值来获

deepwishly专栏 2422

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

sql server 2005 T-SQL @@LOCK_TIMEOUT (Transact-SQL)

返回当前会话的当前锁定超时设置(毫秒)。 Transact-SQL 语法约定 语法 @@LOCK_TIMEOUT 返回类型 integer 备注 SET LOCK_TIMEOUT 允许应用程序设置语句等待阻塞资源的最长时间。当一条语句等待的时间长度超过 LOCK_TIMEOUT 所设置的时间长

曹振华 940

sql server 2005 T-SQL ALTER LOGIN (Transact-SQL)

更改 SQL Server 登录帐户的属性。 Transact-SQL 语法约定 语法 ALTER LOGIN login_name { | WITH [ ,... ] }  ::= ENABLE | DISABLE ::=            PASSWORD = password [HASHED

曹振华 2826

mysql桦仔_Microsoft SQL Server 2005技术内幕:T-SQL查询笔记

Microsoft SQL Server 2005技术内幕:T-SQL查询笔记目录ffffffff第二章 物理查询处理分析,代数化,查询优化fffff、分析——》绑定——》优化分析:检查,例如检查使用分隔标识符的表或列名称是否以数字开头,分析几乎是所有编程语言编译器的一项常规操作绑定:确定SQL语句所引用对象的特征检查请求语义是否有意义,例如检查From A join B的查询时,如果A是一个表B...

weixin_39606575的博客 395
上一篇: 取得SQLServer字段的描述内容
下一篇: SQL Server 2005:数据类型最大值
天地客人
博客等级 码龄23年 62粉丝 168原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值