




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
T-SQL编程,T-SQL编程,Transact-SQL编程概述,TransactSQL是结构化查询语言(SQL)的增强版本,且只能在SQLSERVER上使用。它是用来让应用程式与SQLServer沟通的主要语言。T-SQL提供标准SQL的DDL和DML功能,加上延伸的函数、系统预存程序以及程式设计结构(例如IF和WHILE)让程式设计更有弹性。T-SQL的功能随著新版的SQLServer而持续成长。,目标,变量注释符与运算符常用命令流程控制T-SQL编程示例,变量,数据在内存中存储可以变化的量叫变量。Transact-SQL可以使用两种变量:局部变量全局变量,局部变量,局部变量是用户可自定义的变量,它的作用范围仅在程序内部。声明局部变量DECLARE局部变量名数据类型,ndeclarexint为局部变量赋值setx=500selectx=max(score)fromscore,全局变量,全局变量是SQLServer系统内部事先定义好的变量,不用用户参与定义,对用户而言,其作用范围并不局限于某一程序,而是任何程序均可随时调用。全局变量通常用于存储一些SQLServer的配置设定值和效能统计数据。全局变量的名称都是以开头的。,常用的全局全量,language当前使用的语言的名称IDENTITY返回最后插入的标识值ROWCOUNT返回受上一语句影响的行数VERSION返回SQLServer当前安装的日期、版本和处理器类型,注释符与运算符,注释符单行注释:-多行注释:/*/运算符算术运算符:+-*/%赋值运算符:=比较运算符:=逻辑运算符:ALLANDANYBETWEENEXISTSINLIKENOTOR,常用命令,PRINT将用户定义的消息返回客户端USE将数据库上下文更改为指定数据库GO用信号通知SQLServer一批T-SQL语句的结束,PRINT命令,PRINT:命令用于在指定设备上显示信息。可以输出的数据类型只有:char、nchar、varchar、nvarchar以及全局变量VERSION等。PRINT命令的语句如下:PRINTanyASCIItext|local_variable|FUNCTION|string_expr说明:anyASCIItext:文本或字符串。local_variable:字符类型的局部变量。FUNCTION:返回字符串结果的函数。string_expr:字符串表达式,最长为8000个字符。,批,一个批是由一条或多条T-SQL语句组成的语句集,这些语句一起提交并作为一个组来执行。SQLServer将批中的语句作为一个整体编译为一个执行计划。因为批中的语句是一起提交给服务器的,所以可以节省系统开销。在查询分析器中,可以用GO命令标志一个批的结束。GO不是一个执行语句,是通知查询分析器有多少语句要包含在当前的批中。查询分析器将两个GO之间的语句组成一个字符串交给服务器去执行。,注意:如果在一个批处理中,某条语句存在语法错误,SQLServer将不执行批处理中的任何语句。,流程控制,流程控制语句是用来控制程序执行流程的语句。使用流程控制语句可以提高编程语言的处理能力。与程序设计语言(如C语言)一样,Transact-SQL语言提供的流程控制语句如下表所示:,BEGINEND,包括一系列的Transact-SQL语句,使得可以执行一组Transact-SQL语句。语法:BEGINsql_statementEND参数:sql_statement是任何有效的Transact-SQL语句或以语句块定义的语句分组。,BEGIN.END嵌套使用,BEGIN.END语句可以嵌套使用。例如:,BEGINDECLAREMyVarfloatSETMyVar=456.256;BEGINPRINT变量MyVar的值为:;PRINTCAST(MyVarASvarchar(12);END;END;,IFELSE,在执行Transact-SQL语句时强加条件。如果条件满足(布尔表达式返回TRUE时),则在IF关键字及其条件之后执行Transact-SQL语句。可选的ELSE关键字引入备用的Transact-SQL语句,当不满足IF条件时(布尔表达式返回FALSE),就执行这个语句。语法:IFBoolean_expressionsql_statementELSEsql_statement参数:Boolean_expression:是返回TRUE或FALSE的表达式。sql_statement:是任何有效的Transact-SQL语句或以语句块定义的语句分组。,例如:,IFexists(SELECT*FROM成绩表WHERE学期=10)SELECT*FROM成绩表WHERE成绩编号=10ELSEPRINT没有这条记录,CASE,计算条件列表并返回多个可能结果表达式之一。语法:CASEinput_expressionWHENwhen_expressionTHENresult_expression.nELSEelse_result_expressionEND,例如:,SELECT成绩编号,学号,课程代号,成绩状况=CASEWHEN课程成绩90THEN优秀!WHEN课程成绩80THEN良!WHEN课程成绩70THEN一般!WHEN课程成绩60THEN及格!ELSE不及格!ENDFROM成绩表,“成绩状况”不是表中的字段,WHILECONTINUEBREAK,设置重复执行SQL语句或语句块的条件。只要指定的条件为真,就重复执行语句。可以使用BREAK和CONTINUE关键字在循环内部控制WHILE循环中语句的执行。语法:WHILEBoolean_expressionsql_statementBREAKCONTINUE,例如:DECLARExintSETx=0WHILEx3BEGINSETx=x+1PRINTx=+CONVERT(char(1),x)END,RETURN,从查询或过程中无条件退出。RETURN即时且完全,可在任何时候用于从过程、批处理或语句块中退出。不执行位于RETURN之后的语句。语法:RETURNinteger_expression参数:integer_expression是返回的整型值。,WAITFOR,指定触发语句块、存储过程或事务执行的时间、时间间隔或事件。语法:WAITFORDELAYtime|TIMEtime参数DELAY指示SQLServer一直等到指定的时间过去,最长可达24小时。TIME指示SQLServer等待到指定时间。,例如:,延迟30秒钟执行查询命令。WAITFORDELAY00:00:30SELECT*FROM成绩表在时刻21:20:00时执行查询命令。WAITFORTIME21:20:00SELECT*FROM成绩表,总结,变量注释符与运算符常用命令流程控制T-SQL编程示例,上机作业:T-SQL编程示例,将课件上的所有SQL代码练习一遍1、输出所有学生的最高分和最低分2、学生表中的路人甲是否是润年出生的3、计算1至100之间的和4、显示王五的Java成绩是否及格5、30秒后显示学生表的信息,家庭作业:,涉及到的表如下:创建学生信息表,包含有:学号、姓名、性别、年龄和民族等字段;创建学生成绩表,包含有学号和成绩两个字段完成以下练习:1、打印出学号为S02的学生的年龄(要求以变量的形式输出)2、查询所有年龄大于S03的学生信息3、打印出stuInfo表中学生的平均年龄,如果平均年龄大于22,则输出OK,否则输出NO4、循环增加学生信息表中每个人的年龄,直到每个人的年龄都大于等于25为止,下面是上机作业的参考代码,1、输出所有学生的最高分和最低分,declaremaxreal,minrealselectmax=max(score)fromscoreselectmin=min(score)fromscoreprint最高分是+ltrim(str(max)print最低分是+ltrim(str(min),2、学生表中的路人甲是否是润年出生,declareyearintselectyear=year(birthday)fromstudentwherename=路人甲if(year%4=0andyear%100!=0oryear%400=0)print路人甲是润年出生的elseprint路人甲不是润年出生的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025至2030中国紧急医疗服务(EMS)行业项目调研及市场前景预测评估报告
- 2025至2030中国皮质类固醇反应性皮肤病行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国生物解放军电影行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国瓷砖市场经营状态与投资趋势前景分析报告
- 2025至2030中国玩具和婴童用品市场营销效益与投资方向建议报告
- 2025至2030中国物理安全信息管理(PSIM)行业发展趋势分析与未来投资战略咨询研究报告
- 2025至2030中国牙科植入扳手行业发展趋势分析与未来投资战略咨询研究报告
- 小学三年级数学几百几十加减几百几十评价试题习题
- 2025年电工特种作业操作证考试试卷(电工电气工程合同管理发展趋势报告)
- 从保理制度窥探债权让与规范新模式的构建与突破
- 电力巡检机器人市场调研报告2025
- 森林康养基地项目可行性研究报告
- 竹编非遗教学课件
- AED急救知识培训课件
- 2025深圳辅警考试题库
- 事故隐患内部报告奖励制度
- 小红书营销师(初级)认证理论知识考试题及答案
- 劳动仲裁申请书电子版模板
- 指定监护人申请书范本
- uni-app移动应用开发课件 7-智慧环保项目
- 产前筛查相关工作规章规章制度
评论
0/150
提交评论