欢迎来到优知文库! | 帮助中心 分享价值,成长自我!
优知文库
全部分类
  • 幼儿/小学教育>
  • 中学教育>
  • 高等教育>
  • 研究生考试>
  • 外语学习>
  • 资格/认证考试>
  • 论文>
  • IT计算机>
  • 法律/法学>
  • 建筑/环境>
  • 通信/电子>
  • 医学/心理学>
  • ImageVerifierCode 换一换
    首页 优知文库 > 资源分类 > PPT文档下载
    分享到微信 分享到微博 分享到QQ空间

    TSQL编程.ppt

    • 资源ID:468284       资源大小:2.71MB        全文页数:29页
    • 资源格式: PPT        下载积分:7金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: QQ登录
    二维码
    扫码关注公众号登录
    下载资源需要7金币
    邮箱/手机:
    温馨提示:
    快捷下载时,如果您不填写信息,系统将为您自动创建临时账号,适用于临时下载。
    如果您填写信息,用户名和密码都是您填写的【邮箱或者手机号】(系统自动生成),方便查询和重复下载。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    TSQL编程.ppt

    T-SQLT-SQL编程编程回顾回顾建库的语法?建库的语法?补充下列语句:补充下列语句:IF EXISTS(SELECT*FROM?WHERE name=stuDB)DROP DATABASE stuDB建表的语法?建表的语法?补充下列语句:补充下列语句:IF EXISTS(SELECT*FROM?WHERE name=stuDB)DROP TABLE stuInfo目标目标 掌握如何定义变量并赋值掌握如何定义变量并赋值 掌握如何输出显示数据掌握如何输出显示数据 掌握掌握IF、WHILE、CASE逻辑控制语句逻辑控制语句 理解理解SQL中批处理的概念中批处理的概念注释注释SQL Server支持两种形式的程序注释语句:支持两种形式的程序注释语句:单行注释语句:使用单行注释语句:使用ANSI标准的注释符标准的注释符“-”,注释语句写在,注释语句写在“-”的后面,只能书写单行。的后面,只能书写单行。多行注释语句:使用与多行注释语句:使用与C语言相同的程序注释符语言相同的程序注释符“/*/”,注释语,注释语句写在句写在“/*”和和“*/”之间,可以连续书写多行。之间,可以连续书写多行。批处理批处理-1所谓批是指从客户机传送到服务器上的一组完整数据和所谓批是指从客户机传送到服务器上的一组完整数据和SQL指令,批中的指令,批中的所有所有SQL语句做为一个整体编译成一个执行单元后从应用程序一次性地发语句做为一个整体编译成一个执行单元后从应用程序一次性地发送到送到SQL Server服务器进行执行,称之为批处理。服务器进行执行,称之为批处理。所有的批处理命令都使用所有的批处理命令都使用GO作为结束标志,当作为结束标志,当T-SQL的编译器扫描到某的编译器扫描到某行的前两个字符是行的前两个字符是GO的时候,它会把的时候,它会把GO前面的所有语句作为一个批处理前面的所有语句作为一个批处理送往服务器。送往服务器。由于批处理中的所有语句被当作是一个整体,因此若其中一个语句出现了由于批处理中的所有语句被当作是一个整体,因此若其中一个语句出现了编译错误,则该批处理内所有语句的执行都将被取消。编译错误,则该批处理内所有语句的执行都将被取消。批处理批处理-2批处理是包含一个或多个批处理是包含一个或多个 SQL 语句的组,从应用程序一次性地发送到语句的组,从应用程序一次性地发送到SQL Server执行执行SQL Server 将批处理语句编译成一个可执行单元,此单元称为执行计划。执将批处理语句编译成一个可执行单元,此单元称为执行计划。执行计划中的语句每次执行一条行计划中的语句每次执行一条客户端应用程序客户端应用程序SQL Server服务器服务器批处理语句:批处理语句:语句语句1语句语句2GO批处理批处理-3-第一个批处理打开第一个批处理打开Student数据库数据库USE Student GO-第二个批处理在第二个批处理在Teachers表中查询姓王的教师的记录表中查询姓王的教师的记录SELECT *FROM Teachers WHERE SUBSTRING(Teacher_name,1,1)=王王GO批处理示例批处理示例批处理批处理-4SELECT*FROM StudentsSELECT*FROM Student_courseUPDATE Student_course SET Student_grade=Student_grade+2 GOGO是批处理的标志,表示是批处理的标志,表示SQL Server将这些将这些T-SQL语句编译为一个执行语句编译为一个执行单元,提高执行效率单元,提高执行效率一般是将一些逻辑相关的业务操作语句,放置在同一批中,这完全由业务一般是将一些逻辑相关的业务操作语句,放置在同一批中,这完全由业务需求和代码编写者决定需求和代码编写者决定 批处理示例批处理示例批处理批处理-5-例如建表语句的末尾必须添加例如建表语句的末尾必须添加GOCREATE TABLE stuInfo (.)GOSQLServer规定:如果是建库、建表语句、以及我们后面学习的存储过程和规定:如果是建库、建表语句、以及我们后面学习的存储过程和视图等,则必须在语句末尾添加视图等,则必须在语句末尾添加 GO 批处理标志批处理标志使用变量使用变量 变量分为:变量分为:局部变量:局部变量:局部变量必须以标记局部变量必须以标记作为前缀作为前缀,如,如age局部变量的使用也是先声明,再赋值局部变量的使用也是先声明,再赋值 全局变量:全局变量:全局变量必须以标记全局变量必须以标记 作为前缀,如作为前缀,如version全局变量由系统定义和维护,我们只能读取,不能修改全局变量的值全局变量由系统定义和维护,我们只能读取,不能修改全局变量的值 局部变量局部变量 例如:例如:DECLARE name varchar(8)DECLARE seat int声明局部变量声明局部变量 DECLARE 变量名变量名 数据类型数据类型赋值赋值 SET 变量名变量名=值值 SELECT 变量名变量名=值值例如:例如:SET name=张三张三SELECT name=stuName FROM stuInfo WHERE stuNo=s25302 必须确保筛选出的记录只有必须确保筛选出的记录只有1条条 或或 局部变量示例局部变量示例问题:问题:编写编写T-SQL查找景风的前一个学号学生和后一个学号学生的相关信息查找景风的前一个学号学生和后一个学号学生的相关信息?分析:分析:第一步,找出第一步,找出“景风景风“的学号;的学号;第二步,景风的学号加第二步,景风的学号加1或减或减1 局部变量示例局部变量示例/*-查找景风的学号查找景风的学号-*/DECLARE name nvarchar(10)-学生姓名学生姓名SET name=景风景风 -使用使用SET赋值赋值SELECT*FROM Students WHERE Student_name=name/*-查找景风的前后学号的同学查找景风的前后学号的同学-*/DECLARE number char(8)-学号学号SELECT number=Student_id FROM Students -使用使用SELECT赋值赋值 WHERE Student_name=nameSELECT*FROM Students WHERE(Student_id=Convert(char,Convert(int,number)+1)OR(Student_id=Convert(char,Convert(int,number)-1)GO演示:使用局部变量演示:使用局部变量 参考语句参考语句全局变量全局变量 全局变量都使用两个全局变量都使用两个标志作为前缀标志作为前缀 变量变量含义含义ERROR最后一个最后一个T-SQL错误的错误号错误的错误号IDENTITY最后一次插入的标识值最后一次插入的标识值LANGUAGE当前使用的语言的名称当前使用的语言的名称MAX_CONNECTIONS可以创建的同时连接的最大数目可以创建的同时连接的最大数目ROWCOUNT受上一个受上一个SQL语句影响的行数语句影响的行数SERVERNAME本地服务器的名称本地服务器的名称TRANSCOUNT当前连接打开的事务数当前连接打开的事务数VERSIONSQL Server的版本信息的版本信息全局变量示例全局变量示例print SQL Server的版本的版本+VERSION print 服务器的名称服务器的名称:+SERVERNAME INSERT INTO Students(Student_id,Student_name,Student_sex,Student_classid)VALUES(11003,张三张三,男男,2005022)-如果大于如果大于0表示上一条语句执行有错误表示上一条语句执行有错误print 当前错误号当前错误号+convert(varchar(5),ERROR)GO演示:使用全局变量演示:使用全局变量 参考语句参考语句逻辑控制语句逻辑控制语句 BEGINEND语句语句BEGIN 语句语句1 语句语句2 ENDBEGINEND语句相当于其他语言中的复语句相当于其他语言中的复合语句,如合语句,如JAVA语言中的语言中的。它用于。它用于将多条将多条T-SQL语句封装为一个整体的语语句封装为一个整体的语句块,即将句块,即将BEGINEND内的所有内的所有T-SQL语句视为一个单元执行。语句视为一个单元执行。逻辑控制语句逻辑控制语句 IFELSE语句语句SQL中的中的IF-ELSE语句语句IF(条件)(条件)BEGIN 语句语句1 语句语句2 ENDELSE BEGIN 语句语句1 语句语句2 ENDELSE是可选部分是可选部分如果有多条语句,才需要如果有多条语句,才需要BEGIN-END语句块语句块 IF-ELSE示例示例问题:问题:统计并显示统计并显示Course_id为为1001的课程的平均分,如果平均分在的课程的平均分,如果平均分在70以上,显示以上,显示“成绩优成绩优秀秀“,并显示前三个最高的成绩;如果在,并显示前三个最高的成绩;如果在70以下,显示以下,显示“成绩较差成绩较差“,并显示后三个最低,并显示后三个最低的成绩。的成绩。学生成绩表学生成绩表分析:分析:第一步,统计平均成绩存入临时变量;第一步,统计平均成绩存入临时变量;第二步,用第二步,用IFELSE判断;判断;IF-ELSE示例示例USE StudentGODECLARE myavg floatSELECT myavg=AVG(Student_grade)FROM Student_course WHERE Course_id=1001PRINT 本课程的平均成绩本课程的平均成绩+convert(varchar,myavg)IF(myavg70)BEGIN PRINT 本课程成绩优秀,前三个最高的成绩为:本课程成绩优秀,前三个最高的成绩为:SELECT TOP 3*FROM Student_course WHERE Course_id=1001 ORDER BY Student_grade DESC ENDELSE BEGIN PRINT 本课程成绩较差,后三个最低的成绩为:本课程成绩较差,后三个最低的成绩为:SELECT TOP 3*FROM Student_course WHERE Course_id=1001 ORDER BY Student_grade ENDGO设置输出结果的格式设置输出结果的格式为了文本消息和输出结果显示在同一窗口,需要设置输出结果的格式为了文本消息和输出结果显示在同一窗口,需要设置输出结果的格式逻辑控制语句逻辑控制语句WHILE循环语句循环语句SQL中的中的WHILE语句语句WHILE(条件)(条件)BEGIN 语句语句1 语句语句2 BREAK ENDBREAK表示退出循环表示退出循环如果有多条语句,才需要如果有多条语句,才需要BEGIN-END语句块语句块 WHILE示例示例问题:问题:假定要给考试成绩提分。提分规则很简单,给没达到假定要给考试成绩提分。提分规则很简单,给没达到85分的学生每人都加分的学生每人都加2分,看分,看是否都达到是否都达到85分以上,如果没有全部达到分以上,如果没有全部达到85分以上,每人再加分以上,每人再加2分,再看是否都达分,再看是否都达到到85分以上,如此反复提分,直到所有人都达到分以上,如此反复提分,直到所有人都达到85分以上为止分以上为止。学生成绩表学生成绩表分析:分析:第一步,统计没达到第一步,统计没达到85分的人数分的人数;第二步,如果有人没达到,加分;第二步,如果有人没达到,加分;第三步,循环判断。第三步,循环判断。DECLARE n intWHILE(1=1)-条件永远成立条件永远成立 BEGIN SELECT n=COUNT(*)FROM Student_course WHERE Student_grade0)UPDATE Studen

    注意事项

    本文(TSQL编程.ppt)为本站会员(王**)主动上传,优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知优知文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 yzwku网站版权所有

    经营许可证编号:宁ICP备2022001189号-2

    本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。优知文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知优知文库网,我们立即给予删除!

    收起
    展开