《流程控制与游标》PPT课件.ppt_第1页
《流程控制与游标》PPT课件.ppt_第2页
《流程控制与游标》PPT课件.ppt_第3页
《流程控制与游标》PPT课件.ppt_第4页
《流程控制与游标》PPT课件.ppt_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

流程控制语句,T-SQL语言提供较SQL语言,进行了扩充,其中控制流是最为重要的部分,它用于控制T-SQL语句、语句块和存储过程的执行流。流程控制语句关键字可用于临时性T-SQL语句、批处理和存储过程中。控制流语言的使用与程序设计十分相似。,BeginEnd语句,BeginEnd语句用于包括一组T-SQL语句,使一组T-SQL语句做为一个单元进行处理。BEGIN和END是控制流语言的关键字。(具体内容请参照书。),ifelse条件语句,指定T-SQL语句的执行条件。如果满足条件(布尔表达式返回TRUE),则在IF关键字及其条件之后执行T-SQL语句。可选的ELSE关键字,在布尔表达式返回FALSE时引入另一个T-SQL语句,当不满足IF条件时就执行该语句。(具体内容请参照书。),While语句,While语句用于设置重复执行SQL语句或语句块的条件,只要指定的条件为真,就重复执行语句。可以使用BREAK和CONTINUE关键字,在循环内部控制WHILE循环中语句的执行。(具体内容请参照书。),Case语句,CASE语句用于计算条件列表,并返回多个可能结果表达式之一。CASE具有两种形式: 简单CASE函数形式,用于将某个表达式与一组简单表达式进行比较,以得到结果。 CASE搜索函数形式,计算一组布尔表达式,以得到结果。,Goto语句,Goto语句将执行流更改到其他位置(标签处),通过该语句,跳过Goto后面的T-SQL语句,并从标签位置继续处理。GOTO语句和标签可在过程、批处理或语句块中的任何位置使用,Goto语句也可嵌套使用。(具体内容请参照书。),Waitfor语句,Waitfor语句用于达到指定时间或时间间隔之前,或者指定语句至少修改或返回数据之前,阻止执行批处理、存储过程或者事务。 Waitfor语句的处理过程是,如果查询不能返回任何行,WAITFOR将一直等待,或等到满足TIMEOUT条件。如果查询超出了query wait选项的值,则WAITFOR语句参数不运行即可完成。,Return语句,Return语句,从查询或过程中无条件退出。RETURN的执行是即时且完全的,可在任何时候用于从过程、批处理或语句块中退出。RETURN之后的语句是不执行的。(具体内容请参照书。),Trycatch语句,Trycatch语句在SQL Server 2005数据库中是新加入的,它用于实现类似于C#和C+语言中的异常处理的错误处理。T-SQL语句组可以包含在TRY块中。如果TRY块内部发生错误,则会将控制传递给CATCH块中包含的另一个语句组。(具体内容请参照书。),Execute语句,Exectue用于执行T-SQL批中的命令字符串、字符串或执行下列模块之一:系统存储过程、用户定义存储过程、标量值用户定义函数或扩展存储过程。SQL Server 2005数据库还提供了扩展的EXECUTE语句,可以向链接服务器发送传递命令。(具体内容请参照书。),游标,用户在使用数据库的记录时,经常会处理一批记录,如由SELECT语句返回的记录集包括满足该语句的WHERE子句中条件的所有记录(这种由语句返回的完整记录集称为结果集)。但是一般的应用程序,并不总能将整个结果集作为一个单元来有效地处理。这些应用程序需要一种机制,以实现每次处理一行或许多行数据。游标就是提供这种机制的,对结果集处理的一种扩展。,游标简介,游标就是操作结果集的一种常用方式,通过游标可以进行针对结果集的逐行处理。打开结果集中的游标,即可对结果集进行逐行处理。可以将游标分配给具有cursor数据类型的变量或参数。游标通过以下方式来扩展结果处理。 (1)在结果集对特定行进行定位。 (2)从结果集的当前位置检索数据行。 (3)支持对结果集中,当前位置的行进行数据修改操作。 (4)支持在脚本、存储过程和触发器中,访问结果集中的数据。,定义游标,用户可以通过DECLARE CURSOR语句定义游标,但要求遵循一定的语法。本节讲述DECLARE CURSOR的语法结构及其使用。(具体内容请参照书。),打开游标,打开T-SQL服务器端游标,然后通过执行在DECLARE CURSOR或SET cursor_variable语句中指定的T-SQL语句填充游标。(具体内容请参照书。),读取游标,使用FETCH通过T-SQL服务器游标检索特定行,实现游标的读取。 1FETCH语句的语法(具体内容请参照书。),关闭和删除游标,释放当前结果集,然后解除定位游标的行上的游标锁定,以便关闭一个开放的游标。CLOSE将保留数据结构以便重新打开,但在重新打开游标之前,不允许提取和定位更新。用户使用DEALLOCATE删除游标引用。当释放最后的游标引用时,SQL Server 2005数据库将释放内存。(具体内容请参照书。),游标的运用,游标在编写存储过程等开发中经常的使用,它可以同时处理多行记录,,用游标处理数据的一般过程,使用T-SQL游标的典型过程包括声明、打开游标、通过FETCH逐行读取数据记录并进行处理,使用完成后,使用CLOSE语句关闭游标,再通过DEALLOCATE语句释放游标的存储空间,(具体内容请参照书。),全局游标与局部游标,游标在定义的时候,可以设置其作用域范围,即使用全局游标和本地游标的选择。SQL Server 2005支持在DECLARE CURSOR语句中使用GLOBAL和LOCAL关键字,定义游标名称的作用域。(具体内容请参照书。),游标的嵌套,SQL Server 2005数据库中的游标是可以嵌套使用的。(具体内容请参照书。),使用游标变量,SQL Server 2005支持cursor数据类型的变量,用户可以使用这样的变量保存正在使用的游标。可以通过两种方法实现这样的功能。 方法一:先定义游标变量、游标,再通过SET语句赋值的方式实现。 方法二:先定义游标变量,使用SET直接引用打开游标的过程。,使用函数查看游标状态,用户可以使用CURSOR_ROWS、FETCH_STATUS、CURSOR_STATUS函数可以返回有关游标的信息,在编程过程中,这些函数被广泛的使用。(具体内容请参照书。),使用系统存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论