北大 chap03 T-SQL编程.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
北大 chap03 T-SQL编程

第三章 T-SQL编程T-SQL基本脚本语法批处理注释局部变量控制流错误处理游标动态SQL系统函数批处理批处理是包含一个或多个SQL语句的组,从应用程序一次性地发送到服务器执行。服务器将批处理语句编译成一个可执行单元,此单元称为执行计划错误处理编译错误使执行计划无法编译,从而导致批处理中的任何语句均无法执行。运行时错误会产生以下两种影响之一: 大多数运行时错误将停止执行批处理中当前语句和它之后的语句少数运行时错误(如违反约束)仅停止执行当前语句。而继续执行批处理中其它所有语句 如果批处理第二条语句在执行时失败,则第一条语句的结果不受影响,因为它已经执行在查询处理器中,使用go命令来标识批处理的结束批处理猜猜看select * from Sselect * fom SCBatch 1select * from Sselect * from CSBatch 2select * from CSselect * from SBatch 3select * from Sselect G from SCBatch 4注释/*?????*/--?????SELECT * FROM authors/* GOSELECT * FROM salesGOSELECT * FROM publishersGO */SELECT * FROM titlesGOSELECT * FROM authors--GO--SELECT * FROM sales--GO--SELECT * FROM publishers--GO SELECT * FROM titlesGO局部变量局部变量是可以保存特定类型的单个数据值的对象。变量通常用于: 作为计数器计算循环执行的次数或控制循环执行的次数保存数据值以供控制流语句测试保存由存储过程返回代码返回的数据值变量的声明方式declare @变量名称 数据类型变量的赋值方式set @变量名称 = SQL表达式局部变量declare @find varchar(10)set @find = 张%select S#, SNAME, AGEfrom Swhere SNAME like @finddeclare @rows intset @rows = ( select count(*) from S)局部变量变量的作用域从声明变量的地方开始到声明变量的批处理或存储过程的结尾下面脚本产生语法错误,因为在一个批处理中所引用的变量是在另一个批处理中定义的DECLARE MyVariable INTSET @MyVariable = 80GO SELECT *FROM SCWHERE GRADE = @MyVariable 控制流T-SQL提供称为控制流语言的关键字,用于控制T-SQL语句、语句块和存储过程的执行流控制流语言使用与程序设计相似的构造使语句得以互相连接、关联和相互依存。控制流语句不能跨越多个批处理或存储过程 begin...endwaitforgotowhileif...elsebreakReturncontinue错误处理error_number( ):返回错误号。error_severity( ):返回严重性级别。error_state( ):返回错误状态号。error_procedure( ):返回发生错误的存储过程或触发器的名称。error_line( ):返回例程中导致错误的行号。error_message( ):返回描述错误的完整文本信息。begin try { SQL 语句 }end trybegin catch { SQL语句 }end catch如果try部分中的SQL语句出现错误,则转入catch部分进行相应的错误处理错误处理ErrorNumber ErrorSeverity ErrorState ErrorProcedure ErrorLine ErrorMessage8134 16 1 NULL 2 Divide by zero error encountered.begin try select 1/0end trybegin catchselect error_number( ) as ErrorNumber, error_severity( ) as ErrorSeverity, error_state( ) as ErrorState, error_procedure( ) as ErrorProcedure, error_line( ) as ErrorLine, error_message( ) as ErrorMessageend catch游标SQL与过程化执行方式的差别SQL:一次一集合过程化执行:一次一记录游

文档评论(0)

xcs88858 + 关注
实名认证
文档贡献者

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档