Linux中国  设为主页
 收藏本站
 
当前位置: > 首页 ->数据库应用 ->SQL Server ->谈SQL Server 2005中的T-SQL增强
  相关分类: 
Access
DB2
Mysql
Oracle
PostgreSQL
SQL Server
Sybase
其他数据库
  站内搜索: 
热门文章排行
热门文章排行 SQLServer2005的一般部署步骤 (04-23)
SQL server 2005安装问题汇总(06-03)
[SQL Server]2005 Express Edition概(04-23)
用MS SQL Reporting Services生成报(04-17)
50种方法巧妙优化你的SQL Server数据(04-17)
精采文章排行
精采文章排行 教你如何在SQL Server计算机列和平均(06-29)
SQL Server数据库搭建农村信息化的方(06-29)
让VB实现SQL Server 2000存储过程调(06-29)
SQL Server数据库搭建农村信息化的方(06-29)
SQL Server 2005分析服务 统一整合视(06-29)
  ·如何在SQL Server中构建并利用UDF表格 ·使用T-SQL操作面试SQL Server开发人员 ·课程讲解 如何使用SQL Server校勘功能 ·SQL Server从安装到建库为新手寻找捷径 ·如何使用SQL Server数据库嵌套子查询 ·问题解决:SQL Server 2005无法重新安装 ·精细分析 SQL server服务器的内存配置 ·如何获取SQL Server数据库元数据的方法 ·用实例分析如何整理SQL Server输入数据

谈SQL Server 2005中的T-SQL增强

作者:Webmaster   来源:itpub    点击:   日期:2007-04-23 [收藏] [投稿]

  IE是否经常中毒?推荐您




SQL Server 2005中的T-SQL增强(一)

丰富的数据类型 Richer Data Types

1、varchar(max)、nvarchar(max)和varbinary(max)数据类型最多可以保存2GB的数据,可以取代text、ntext或image数据类型。

CREATE TABLE myTable
(
id INT,
content VARCHAR(MAX)
)

2、XML数据类型

XML数据类型允许用户在SQL Server数据库中保存XML片段或文档。

错误处理 Error Handling

1、新的异常处理结构

2、可以捕获和处理过去会导致批处理终止的错误。前提是这些错误不会导致连接中断(通常是严重程度为21以上的错误,例如,表或数据库完整性可疑、硬件错误等等。)。

3、TRY/CATCH 构造

SET XACT_ABORT ON
BEGIN TRY
<core logic>
END TRY
BEGIN CATCH TRAN_ABORT
<exception handling logic>
END TRY
@@error may be quired as first statement in CATCH block

4、演示代码

USE demo
GO
--创建工作表
CREATE TABLE student
(
stuid INT NOT NULL PRIMARY KEY,
stuname VARCHAR(50)
)
CREATE TABLE score
(
stuid INT NOT NULL REFERENCES student(stuid),
score INT
)
GO
INSERT INTO student VALUES (101,'zhangsan')
INSERT INTO student VALUES (102,'wangwu')
INSERT INTO student VALUES (103,'lishi')
INSERT INTO student VALUES (104,'maliu')
--调用一个运行时错误
SET XACT_ABORT OFF
BEGIN TRAN
INSERT INTO score VALUES (101,90)
INSERT INTO score VALUES (102,78)
INSERT INTO score VALUES (107, 76) /* 外键错误 */
INSERT INTO score VALUES (103,81)
INSERT INTO score VALUES (104,65)
COMMIT TRAN
GO
SELECT * FROM student
SELECT * FROM score
--使用TRY...CATCH构造,并调用一个运行时错误
SET XACT_ABORT OFF
BEGIN TRY
BEGIN TRAN
INSERT INTO score VALUES (101,90)
INSERT INTO score VALUES (102,78)
INSERT INTO score VALUES (107, 76) /* 外键错误 */
INSERT INTO score VALUES (103,81)
INSERT INTO score VALUES (104,65)
COMMIT TRAN
PRINT '事务提交'
END TRY
BEGIN CATCH
ROLLBACK
PRINT '事务回滚'
SELECT ERROR_NUMBER() AS ErrorNumber,
ERROR_SEVERITY() AS ErrorSeverity,
ERROR_STATE() as ErrorState,
ERROR_MESSAGE() as ErrorMessage;
END CATCH
GO
SELECT * FROM score
GO


 如果您对本文有任何疑问或者建议,请到讨论区发表您的意见: >> 论坛入口 <<

上一页12 3 4 5 6 下一页

上一篇:SQL Server 2005:我要更聪明的DBA!   下一篇:您知道SQLServer2005的10个高级特性吗
文章评论】 【收藏本文】 【推荐好友】 【打印本文】 【我要投稿】 【论坛讨论

   相关文章:
·精细讲述SQL Server数据库备份多种方法

   文章评论:(1条)
  
 请留名: 匿名评论   点击查看所有评论 论坛讨论
 

 声明:刊登此文章是为了传递更多信息,文章内容仅供参考,转载请注明出处。