网站大量收购闲置独家精品文档,联系QQ:2885784924

第8章Transact-SQL语言基础.ppt

  1. 1、本文档共124页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第8章Transact-SQL语言基础资料

DEALLOCATE语句格式: DEALLOCATE 游标名 作用: DEALLOCATE命令删除游标与游标名或游标变量之间的联系,并且释放游标占用的所有系统资源。 删除后不可再用,必须重新声明方可。 例如,删除Teach_CUR 游标, DEALLOCATE Teach_CUR 【例】利用 @@FETCH_STATUS 控制一个 WHILE 循环中的游标活动,利用游标从学生表中逐条读取所有数据。 Declare @i INT DECLARE @id CHAR(20),@name CHAR(20),@sex CHAR(4) declare stu_CUR cursor for select stunumber,stuname,stusex from student open stu_CUR select @i=count(*) from student while @@fetch_status=0 and @i1 BEGIN fetch next from stu_CUR INTO @id,@name,@sex set @i=@i-1 PRINT rtrim(@name)+ 学号+是 +rtrim(@id) +, 是 + @sex+同学 END close stu_CUR deallocate stu_CUR (1)数据类型是学习Transact-SQL语言的基础,不同种类的数据类型具有不同的精度和取值范围。除基本数据类型外,SQL Server也支持用户定义的数据类型。 (2)变量分为局部变量和全局变量两种。局部变量由DECLARE语句声明,可以由SET、SELECT或UPDATE语句赋值;全局变量不可由用户定义。 (3)Transact-SQL的运算符分为算术运算符、位运算符、比较运算符、逻辑运算符、连接运算符,每种运算符都有专门的数据类型或操作数,各运算符间遵循一定的优先级。 (4)函数是一组编译好的Transact-SQL语句。SQL Server 2005支持的函数分为内置函数和用户定义函数两种类型。用户定义函数可以通过SQL Server管理平台和Transact-SQL语句来管理。CREATE FUNCTION、ALTER FUNCTION、DROP FUNCTION分别创建、修改、删除用户定义函数。用户定义函数的调用要在函数名前加所有者作为前缀。 (5)程序控制流语句BEGIN和END要一起使用,其功能是将语句块括起来。IF…ELSE语句根据条件来执行语句块。当程序有多个条件需要判断时,可以使用CASE函数实现。WHILE循环可根据条件多次重复执行语句。GOTO语句会破坏程序结构化的特点,尽量不要使用。 (6)游标是应用程序通过行来管理数据的一种方法。有3种游标:Transact-SQL游标、API服务器游标和客户游标。游标声明使用DECLARE CURSOR语句,游标的使用包括打开游标、读取数据、关闭游标、删除游标等,分别使用OPEN、FETCH、CLOSE、DEARLLOCATE语句。 * 内嵌表值函数和多语句表值函数都返回表,二者不同之处在于: 内嵌表值函数没有函数主体,返回的表是单个select语句的结果集; 而多语句表值函数在begin…end块中定义的函数主体包含T-SQL语句,这些语句可生成行并将行插入至表中,最后返回表。 多语句表值函数经常调用带参数的多表连接结果集。 第一条DELETE语句修改teachers表为: DELETE FROM department WHERE department_id = ‘d004’ 第二条DELETE语句修改department表为: DELETE FROM teachers WHERE dept_id = ‘d004’ 因此,必须保证这两条DELETE语句都被执行,或都不执行。这时可以使用数据库中的事务(Transaction)技术来实现。 6.1 事务简介 事务保证连续多个操作必须全部执行成功,否则必须立即回复到未执行任何操作的状态,即执行事务的结果: 将数据所要执行的操作全部完成; 全部数据都不修改。 事务(Transaction)是用户定义的一个数据库操作序列,是一个不可分割的工作单位。 要么所有的操作都顺序完成,要么一个也不要做,绝不能只完成了部分操作,还有一些操作没有完成。 任何对数据的修改都是在事务环境中进行的。 在关系数据库中,一个事务可以是一条SQL语句,一组SQL语句或整个程序。 例如,使用DELETE 命令或UPDATE 命令对数据库进行更新时一次只能操作一个表,这会带来数据库的数据不一致的问题。 原子性(Atomicity):事务是数据库的逻辑工作单位,事务中

文档评论(0)

jiayou10 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:8133070117000003

1亿VIP精品文档

相关文档