欢迎来到天天文库
浏览记录
ID:55781303
大小:4.62 MB
页数:33页
时间:2020-06-07
《数据库概论_T-SQL编程.pptx》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章T-SQL编程T-SQL基本脚本语法批处理注释局部变量控制流错误处理游标动态SQL系统函数批处理批处理是包含一个或多个SQL语句的组,从应用程序一次性地发送到服务器执行,服务器将批处理语句编译成一个可执行单元。使用go命令来标识批处理的结束错误处理编译错误使执行计划无法编译,从而导致批处理中的任何语句均无法执行。大多数运行时错误将停止执行批处理中当前语句和它之后的语句少数运行时错误(如违反约束)仅停止执行当前语句。而继续执行批处理中其它所有语句如果批处理第二条语句在执行时失败,则第一条语句的结果不受影响,因为它已经执行批处理中的错误处理select*fromSsel
2、ect*fomSCselect*fromSselect*fromCSselect*fromCSselect*fromSselect*fromSselectGfromSCBatch1Batch2Batch3Batch4注释/*?????*/--?????select*fromR1/*goselect*fromR2select*fromR3go*/select*fromR4goselect*fromR1--go--select*fromR2--select*fromR3--goselect*fromR4go局部变量局部变量是可以保存特定类型的单个数据值的对象。变量通常用于:作
3、为计数器计算循环执行的次数保存数据值以供控制流语句测试保存由存储过程返回代码返回的数据值变量的声明方式declare@变量名称数据类型变量的赋值方式set@变量名称=SQL表达式局部变量declare@findvarchar(10)set@find='张%'selectsno,sname,agefromSwheresnamelike@finddeclare@rowsintset@rows=(selectcount(*)fromS)局部变量变量的作用域从声明变量的地方开始到声明变量的批处理或存储过程的结尾下面脚本产生语法错误,因为在一个批处理中所引用的变量是在另一个批处理中
4、定义的declareMyVariableintset@MyVariable=80goselect*fromSCwheregrade=@MyVariable控制流T-SQL提供称为控制流语言的关键字,用于控制T-SQL语句、语句块和存储过程的执行流控制流语言使用与程序设计相似的构造使语句得以互相连接、关联和相互依存。控制流语句不能跨越多个批处理或存储过程begin...endwaitforgotowhileif...elsebreakReturncontinue错误处理begintry{SQL语句}endtrybegincatch{SQL语句}endcatch如果try部分
5、中的SQL语句出现错误,则转入catch部分进行相应的错误处理error_number():返回错误号。error_severity():返回严重性级别。error_state():返回错误状态号。error_procedure():返回发生错误的存储过程或触发器的名称。error_line():返回例程中导致错误的行号。error_message():返回描述错误的完整文本信息。错误处理begintryselect1/0endtrybegincatchselecterror_number()asErrorNumber,error_severity()asErrorSev
6、erity,error_state()asErrorState,error_procedure()asErrorProcedure,error_line()asErrorLine,error_message()asErrorMessageendcatchErrorNumberErrorSeverityErrorStateErrorProcedureErrorLineErrorMessage8134161NULL2Dividebyzeroerrorencountered.游标SQL与过程化执行方式的差别SQL:一次一集合过程化执行:一次一记录游标:在查询结果的记录集合中移动
7、的指针需要游标的数据操作:当select语句的结果中包含多行时,使用游标可以逐个存取这些行活动集:select语句返回的行的集合当前行:活动集中当前处理的那一行。游标即是指向当前行的指针阻抗失配impedancemismatch游标场合:复杂任务,有序处理游标:从集合到队列游标分类滚动游标游标的位置可以来回移动,可在活动集中取任意元组非滚动游标只能在活动集中顺序地取下一个元组更新游标数据库对游标指向的当前行加锁,当程序读下一行数据时,本行数据解锁,下一行数据加锁定义与使用游标的语句完整的使用游标的过程声明游标打开游标检索游标关
此文档下载收益归作者所有