带你深入了解T-SQL的十一种设计模式
2008-09-04 10:00:41 来源:WEB开发网注:通过@@TRANcount<>0可知有活动事务,执行ROLLBACK回滚当前活动连接的所有事务。当SQL Server使用连接池时(对WEB服务器而言相当常见),在实际应用中编写此种逻辑就非常重要。由于一个虚连接可以留下一个打开的事务,该事务会影响使用同一物理连接的后续用户,因此,通过主动地执行Restorer模式,让代码知道如何保护自己免受“无赖”事务和其他意外残余的影响。
重要提示
T-SQL的错误处理结构也并非无懈可击,它经常不是按预期的方式或它应该的方法运行。例如,存在许多严重的足以中断当前命令批处理的错误,当这些错误出现时,它让那些可能紧跟在其后的错误处理代码根本没有机会去执行。因此,当出现问题时,即使使用@@ERROR执行代码检查并调用ROLLBACK,还会有错误禁止ROLLBACK执行。这可能是导致孤立事务存在的根本原因,而且也是在开始一个事务前应检查孤立事务的原因。
七、PROTOTYPE(原型)
此模式的目标:使用一种原型实例指定要创建对象的类型,并且通过复制原型创建新的对象。
1、最常见的实现方式是select...INTO结构
select *
INTO newCustomers
FROM Customers
select *
INTO newCustomers
FROM Customers
where country=’UK’
注:通过指定一个列列表、where子句、GROUP BY或HAVING子句,可在传送过程中修改原型。
2、复制表结构(T-SQL惯例中也曾提过)
select *
INTO newCustomers
FROM Customers
where 1 = 2
或
select TOP 0 *
INTO newCustomers
FROM Customers
注:通过错误的where条件或不存在的行实现了复制表结构的功能
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接