T-SQL数据库编程

T-SQL数据库编程

ID:38852305

大小:379.82 KB

页数:29页

时间:2019-06-20

T-SQL数据库编程_第1页
T-SQL数据库编程_第2页
T-SQL数据库编程_第3页
T-SQL数据库编程_第4页
T-SQL数据库编程_第5页
资源描述:

《T-SQL数据库编程》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、Transact-SQL数据库编程流程控制语句功能性语句流程控制语句1.语句块(BEGIN…END)语法如下:BEGINEND说明:在t-sql中用begin……end来把多个t-sql语句连成一个语句块,它的作用相当于和java中的大括号{}。只要是流程控制语句中执行两条或者多条t-sql语句的任何地方,都可以使用begin……end举例——语句块begin……end常用于if语句和while语句中。如果if和while语句只有一条t-sql语句的话可以不使用begin……end,但是为了养成良好的习惯,建议只有一条t-sql也要写上begin……end

2、begin……end语句可以嵌套使用。注:每个t-sql语句后面没有逗号或是分号。beginupdate课程表set学分=4where课程号='00010001'update课程表set学分=3where课程号='00020002'select课程号,学分from课程表end流程控制语句2.判断语句(IF…ELSE)语法如下:IF<条件表达式><命令行或语句块1>[ELSE<命令行或语句块2>]说明:else子句是可选的,最简单的if语句没有else子句部分if…else可以进行嵌套。举例——判断语句例:计算学号为0202003的学生的平均成绩,如果成绩>=60分,则显示及格,

3、否则显示不及格。declare@cj_avgintselect@cj_avg=avg(成绩)from选课where学生号='0202003'print'平均成绩:'print@cj_avgif@cj_avg>=60--if后的条件可以不加括号。print'平均成绩及格'elseprint'平均成绩不及格'go流程控制语句3.检测语句(IF…EXISTS)用于检测数据是否存在,而不考虑与之匹配的行数。只要找到第一个匹配的行,服务器就会停止执行SELECT语句。语法如下:IF[NOT]EXISTS(SELECT查询语句)<命令行或语句块1>[ELSE<命令行或语句块2>]举例——检

4、测语句例:检查学号为0202003的同学是否有课程号C001的成绩。ifexists(select*from选课where学生号=‘0202003'and课程号=‘C001')print'有这门课的成绩'elseprint'没有这门课的成绩'go流程控制语句4.多分支判断语句(CASE…WHEN)CASE…WHEN结构可避免多重IF…ELSE语句嵌套使用。有两种格式,其中第二种格式较常用。格式语法如下:CASEWHEN<条件1>THEN<结果1>WHEN<条件2>THEN<结果2>……[ELSE<其它结果>]END举例——多分支判断语句例:对学生成绩进行评定。优秀:成绩>90良

5、好:80≤成绩<90中等:70≤成绩<80及格:60≤成绩<70不及格:成绩<60总评=举例——多分支判断语句对应的T-SQL语句:select学生号,成绩,总评=casewhen(成绩>=90)then'优秀'when(成绩>=80)and(成绩<90)then'良好'when(成绩>=70)and(成绩<80)then'中等'when(成绩>=60)and(成绩<70)then'及格'else'不及格'endfrom选课orderby学生号go另外一种写法:select学生号,成绩,总评=casewhen成绩>=90then'优秀'when成绩between80and89t

6、hen'良好'when成绩between70and79then'中等'when成绩between60and69then'及格'else'不及格'endfrom选课orderby学生号go流程控制语句5.循环语句(WHILE)有些时候需要重复执行某些t-sql语句,利用while语句可以很好的达到我们的目的。语法如下:WHILE<条件表达式>BEGIN<命令行或程序块>[BREAK][CONTINUE][命令行或程序块]ENDBreak与continue有什么区别?While语句——举例例如:我要在屏幕上打印10次“你好”。begindeclare@iintset@i=0whil

7、e(@i<10)--在此判断@i的值是否小于10beginprint'你好'--如果@i小于10就打印一次”你好”set@i=@i+1--打印一次就让循环控制变量加一--直到@i的值等于10时,结束循环endendWhile语句——举例例:使用循环语句,计算1+2+…100的和。declare@iint,@sumintselect@i=1,@sum=0while(@i<=100)--括号也可以去掉beginselect@sum=@sum+@iselect@i=@i+1endprint'1+2

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。