06 2014 档案

摘要:SQL Server提供了在T-SQL 代码中用于处理错误的工具。进行错误处理的主要工具是一种称为TRY...CATCH的结构,它是在SQL Server 2005中引入的。SQL Server 也提供了一组函数,调用它们可以获得有关错误的信息。当使用 TRY...CATCH结构时,通常是把T-SQ... 阅读全文
posted @ 2014-06-23 22:08 守护之翼 阅读(145) 评论(0) 推荐(0) 编辑
摘要:触发器是一种特殊的存储过程,一种不能被显式执行,而必须依附于一个事件的过程。只要事件发生,就会调用触发器,运行它的代码。SQL Server 支持把触发器和两种类型的事件关联:数据操作事件(如INSERT)和数据定义事件(如CREATE TABLE),和这两种事件关联的触发器分别称为DML 触发器和... 阅读全文
posted @ 2014-06-22 19:56 守护之翼 阅读(192) 评论(0) 推荐(0) 编辑
摘要:存储过程是封装了T-SQL代码的服务器端例程。存储过程可以有输入和输出参数,可以返回多个查询的结果集,也允许调用具有副作用的代码。通过存储过程不但可以对数据进行修改,也可以对数据库架构进行修改。和使用特定的普通代码相比,使用存储过程可以获得以下好处:1.存储过程可以封装逻辑处理。如果需要修改存储过程... 阅读全文
posted @ 2014-06-22 11:22 守护之翼 阅读(135) 评论(0) 推荐(0) 编辑
摘要:用户自定义函数(UDF,user-defined function)的目的是要封装计算的逻辑处理,有可能需要基于输入的参数,并返回结果。SQL Server 支持两种用户定义函数:标量UDF和表值UDF。标量UDF只返回单个数据值。而表值UDF则返回一个表。使用UDF 的优点之一是可以在查询中集成U... 阅读全文
posted @ 2014-06-22 11:09 守护之翼 阅读(315) 评论(0) 推荐(0) 编辑
摘要:SQL Server 允许用字符串来动态构造 T-SQL 代码的一个批处理,接着再执行这个批处理。这种功能称为动态SQL (dynamic SQL)。SQL Server提供了两种执行动态 SQL 的方法:使用 EXEC(EXECUTE 的缩写)命令和sp_executesql 存储过程。动态SQL... 阅读全文
posted @ 2014-06-21 01:08 守护之翼 阅读(307) 评论(0) 推荐(1) 编辑
摘要:SQL Server 支持三种类型的临时表:局部临时表、全局临时表及表变量。所有三种类型的临时表都是在tempdb数据库中创建的。1. 局部临时表要创建局部临时表,只需要在命名时以单个数字符号(#)作为前缀,例如#T1。局部临时表只对创建它的会话在创建级和调用堆栈内部级(内部的过程、函数、触发器、以... 阅读全文
posted @ 2014-06-20 00:06 守护之翼 阅读(190) 评论(0) 推荐(0) 编辑
摘要:不带ORDER BY 子句的查询返回的是一个集合(或多集),而带有ORDER BY 子句的查询返回的是一种ANSI 称为游标(cursor)的对象,因为这种结果的行之间具有固定的顺序,所以不是关系的结果。在默认情况下应该使用基于集合的查询,只在有令人信服的理由时才考虑使用游标。因为1.如果使用游标,... 阅读全文
posted @ 2014-06-18 23:52 守护之翼 阅读(152) 评论(0) 推荐(0) 编辑
摘要:IF ... ELSE 流程控制元素用于根据条件来控制代码的执行流程。如果条件取值为TRUE,则执行指定的语句或语句块;如果条件取值为FALSE或UNKNOWN,则执行指定的另一语句或语句块(此部分为可选的)。IF YEAR(CURRENT_TIMESTAMP) YEAR(DATEADD(day,... 阅读全文
posted @ 2014-06-14 16:18 守护之翼 阅读(100) 评论(0) 推荐(0) 编辑
摘要:1.锁锁是事务获取的一种控制资源,用于数据资源,防止其他事务对数据进行冲突的或不兼容的访问。锁模式及其兼容性排他锁(exclusive lock),共享锁(shared lock);还有一些其他类型的锁(更新锁,意向锁、架构锁)。当试图修改数据时,事务会为所依赖的数据资源请求排他锁,一旦授予,事务将... 阅读全文
posted @ 2014-06-10 23:26 守护之翼 阅读(367) 评论(0) 推荐(0) 编辑
摘要:事务是作为单个工作单元而执行的一系列操作,如查询和修改数据,甚至可能是修改数据定义。定义事务边界的方式有显式和隐式两种。显式事务的定义需要以BEGIN TRAN 语句作为开始。如果想提交事务,则应该以COMMIT TRAN 语句显式结束事务;如果不想提交事务(撤消事务中的修改),则应该以ROLLBA... 阅读全文
posted @ 2014-06-09 00:50 守护之翼 阅读(194) 评论(0) 推荐(0) 编辑
摘要:除了修改数据以外,一般不会希望修改语句后再做其他事情。也就是说,一般不会希望修改语句能够返回任何输出。然而,在有些场合下,能够从修改过的行中返回数据,这个功能可能也有一定的用处。例如,考虑UPDATE语句,除了修改数据以外,对于发生更新的列,UPDATE 语句还可以返回这个列更新之前和更新之后的值。... 阅读全文
posted @ 2014-06-05 23:29 守护之翼 阅读(2152) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示