TSQL程序结构.pptVIP

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
7.3 流程控制 【例7-5】在实数范围内求一元二次方程的根。 DECLARE @a FLOAT, @b FLOAT, @c FLOAT, @d FLOAT SELECT @a=1, @b=-4, @c=4 /*置方程的系数*/ SET @d=@b*@b-4*@a*@c /*计算判别式*/ IF @d=0 BEGIN IF @d!=0 BEGIN PRINT 方程 + LTRIM(STR(@a)) + *X^2+( + LTRIM(STR(@b)) + )*X+(+ LTRIM(STR(@c))+)=0有两个不相等的实数根: PRINT root1= + LTRIM(STR( (-@b+SQRT(@d) ) / (2*@a) )) PRINT root2= + LTRIM(STR( (-@b-SQRT(@d) ) / (2*@a) )) END ELSE BEGIN PRINT 方程 + LTRIM(STR(@a)) + *X^2+( + LTRIM(STR(@b)) + )*X+(+ LTRIM(STR(@c))+)=0有两个相等的实数根: PRINT root1=root2= + LTRIM(STR( (-@b+SQRT(@d) ) / (2*@a) )) END END ELSE PRINT 方程 + LTRIM(STR(@a)) + *X^2+( + LTRIM(STR(@b)) + )*X+(+ LTRIM(STR(@c))+)=0无实数根! 7.3 流程控制 7.3.3 循环语句, 基本格式为: WHILE 条件表达式 BEGIN T-SQL语句[ …n] [BREAK] /*跳出循环*/ [CONTINUE] /*进入下一次循环*/ END 含义: 若条件为真,则执行WHILE后的块语句, 否则终止循环。 BREAK用于提前跳出循环,CONTINUE用于提前终止本次循环并进入下次循环。WHILE语句允许嵌套,但最多只能嵌套32层。 7.3 流程控制 【例7-6】用“*”打印一个高为奇数的菱形。 DECLARE @sp INT, --前导空格数 @st INT, --星号数 @h INT --菱形高度 SELECT @h=7, @st=1, @sp=@h/2 --初始化:要打印高度为7的菱形 WHILE @sp=0 BEGIN --打印菱形的上半部分 PRINT SPACE(@sp) + REPLICATE(*, @st) SELECT @sp=@sp-1, @st=@st+2 END SELECT @sp=1, @st=@st-4 WHILE @st0 BEGIN --打印菱形的下半部分 PRINT SPACE(@sp) + REPLICATE(*, @st) SELECT @sp=@sp+1, @st=@st-2 END 7.3 流程控制 7.3.4 等待语句: 用来暂停程序执行,直到所设定的等待时间已过,或所设定的时间已到或设定的事件发生才继续往下执行,其语法如下: WAITFOR { DELAY ’时间’ | TIME ’时间’ | ERROREXIT | PROCESSEXIT | MIRROREXIT } 其中时间必须为DATETIME 类型的数据,如’11:15:27’,但不能包括日期。各关键字含义如下: DELAY:用来设定等待的时间,最多可达24小时; TIME:用来设定等待结束的时间点; ERROREXIT:一直等待到处理非正常中断; PROCESSEXIT:一直等待到处理正常或非正常中断; MIRROREXIT: 一直等待到镜像设备失败 7.3 流程控制 【例7-7】等待1小时2分零3秒后才执行SELECT语句。 WAITFOR DELAY ‘01:02:03’ SELECT * FROM employee 【例7-8】等到晚上11点零8分后才执行SELECT 语句 WAITFOR TIME ‘23:08:00’ SELECT * FROM employee 7.3.5 GOTO语句 用来使程序跳到标有标号的行,其语法如下:GOTO 标号 标号可为数字与字符的组合,但必须以“:”结尾。 【例7-9】分行打印字符1、2、3、4、5。 DECLARE @X INT SELECT @X =

文档评论(0)

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

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

1亿VIP精品文档

相关文档