欢迎来到人人文库网! | 帮助中心 人人文档renrendoc.com美如初恋!
人人文库网
全部分类
  • 图纸下载>
  • 教育资料>
  • 专业文献>
  • 应用文书>
  • 行业资料>
  • 生活休闲>
  • 办公材料>
  • 毕业设计>
  • ImageVerifierCode 换一换
    首页 人人文库网 > 资源分类 > PPT文档下载  

    数据库原理及应用---第8章T-SQL编程与应用.ppt

    • 资源ID:17763034       资源大小:673KB        全文页数:40页
    • 资源格式: PPT        下载积分:15积分
    扫码快捷下载 游客一键下载
    会员登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 支付宝登录   QQ登录   微博登录  
    二维码
    微信扫一扫登录

    手机扫码下载

    请使用微信 或支付宝 扫码支付

    • 扫码支付后即可登录下载文档,同时代表您同意《人人文库网用户协议》

    • 扫码过程中请勿刷新、关闭本页面,否则会导致文档资源下载失败

    • 支付成功后,可再次使用当前微信或支付宝扫码免费下载本资源,无需再次付费

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

    数据库原理及应用---第8章T-SQL编程与应用.ppt

    数据库原理及应用 An Introduction to Database System,数据库系统概论 An Introduction to Database System 第8章T-SQL编程与应用,教学目标:,了解T-SQL的基本知识, 掌握表达式中典型的函数应用, 掌握T-SQL常用的语句以及简单应用。,第8章T-SQL编程与应用,8.1T-SQL语言基础 8.2表达式 8.3流程控制语句 8.4CASE表达式,8.1T-SQL语言基础,8.1.1 T-SQL语言的编程功能 8.1.2标识符 8.1.3注释,8.1.3注释,不执行语句。 注释多行 /* fshjhfjkshfjsdhfsdjf fsjdkfljskdlfjkldsfjkdslfjfjfj */ 注释单行 -ghjfghkfdjhgkfhgjfdhgkgjfdh,8.1.1 T-SQL语言的编程功能,1.基本功能 支持ANSI SQL-92标准:DDL,DML,DCL,DD 2.扩展功能 加入程序流程控制结构 加入局部变量,系统变量等,8.1.2标识符,1.标识符分类 常规标识符(严格遵守标识符格式规则) 界定标识符(引号或方括号) 2.标识符格式规则 字母或_、开头的字母数字或_、$序列 不与保留字相同 长度小于128 *不符合规则的标识符必须加以界定(双引号”或方括号) 3.对象命名规则 服务器名.数据库名.拥有者名.对象名,8.2表达式,8.2.1数据类型 8.2.2变量 8.2.3函数 8.2.4运算符,8.2.1数据类型,在 SQL Server 2005 中,每个列、局部变量、表达式和参数都具有一个相关的数据类型。数据类型是一种属性,用于指定对象可保存的数据的类型:整数数据、字符数据、货币数据、日期和时间数据、二进制字符串等。,8.2.2变量,局部变量 作用域:批处理、存储过程或触发器内。 (1)声明 DECLARE 变量名 数据类型,变量名 数据类型 (2)赋值 格式:SELECT 变量名=表达式/SELECT 子句(最后一个值或空),8.2.2变量,例:SELECT命令赋值,执行脚本 USE Library GO DECLARE var1 varchar(8) -声明局部变量 SELECT var1='读者姓名' -为局部变量赋值 SELECT var1=Rname -查询结果赋值给变量 FROM Reader WHERE RID='2003216008' SELECT var1 as '读者姓名' -显示局部变量结果,8.2.2变量,例:SELECT命令赋值,多个返回值中取最后一个 USE Library DECLARE var1 varchar(8) SELECT var1='读者姓名' SELECT var1=Rname -查询结果赋值 FROM Reader SELECT var1 AS '读者姓名' -显示局部变量的结果,8.2.2变量,例:SET命令赋值 USE Library DECLARE no varchar(10) SET no='2004060003' -变量赋值 SELECT RID,Rname FROM Reader WHERE RID=no GO,8.2.2变量,全局变量 变量名 记录SQL Server服务器活动状态的一组数据,系统提供的30个全局变量。 例:显示SQL Server的版本。 Select version,8.2.3函数,SQL Server 2005 提供了一些内置函数,用户可以使用这些函数方便的实现一些功能。以下举例说明一些常用的函数,其他函数请参考联机手册,8.2.3函数,聚合函数:COUNT ,SUM ,AVG,MAX,MIN 例:查询出图书中价格最高的图书 USE Library GO SELECT MAX(Price) FROM Book,8.2.3函数,日期时间函数 DATEADD():返回加上一个时间的新时间 例:返回2007-3-24 下午3点+4小时后的新时间 DECLARE OLDTime datetime SET OLDTime='2007-3-24 15:00:00' SELECT DATEADD(hh,4,OldTime),8.2.3函数,DATEDIFF():两时间之差 例:返回2006-3-24 下午3点与下午3点33分的时间差,并以ms为单位显示。 DECLARE FirstTime datetime, SecondTime datetime SET FirstTime='2006-3-24 15:00:00' SET SecondTime='2006-3-24 15:33:00' SELECT DATEDIFF(ms,FirstTime,SecondTime),8.2.3函数,字符函数 ASCII() 例:返回字符串的ASCII码。 DECLARE StringTest char(10) SET StringTest=ASCII(Robin) SELECT StringTest,8.2.3函数,字符函数 例:返回下列字符中从左起3个字符的小写形式。 DECLARE StringTest char(10) SET StringTest=Robin SELECT LOWER(LEFT(StringTest,3),8.2.3函数,空值置换函数ISNULL(空值,指定的空值),用指定的值代替空值。 例20:用“空值置换”4个中文字符代替reader表中lendnum列中的空值。 USE Library GO SELECT Lendnum,ISNULL(Lendnum,0) AS 空值置换 FROM Reader WHERE ISNULL(Lendnum,0)=0 GO,8.2.4运算符,8.3流程控制语句,8.3.1IFELSE语句 8.3.2WHILE语句 8.3.3GOTO语句 8.3.4WAITFOR语句,8.3.1IFELSE语句,语法: IF Boolean_expression /* 条件表达式 */ sql_statement | statement_block /* 条件表达式为TRUE时执行 */ ELSE sql_statement | statement_block /* 条件表达式为FALSE时执行 */,8.3.1IFELSE语句,例:IF查询图书中有没有英语书。 USE Library GO -如果图书中有英语书,统计其数量,否则显示没有英语书 IF exists(SELECT * FROM Book WHERE Bname='英语') SELECT COUNT(*) AS 英语图书数量 FROM Book WHERE Bname='英语' ELSE PRINT '数据库中没有英语书',8.3.1IFELSE语句,USE Library GO IF exists(SELECT * FROM Book WHERE Bname='英语') SELECT COUNT(*) AS 英语图书数量 FROM Book WHERE Bname='英语' ELSE IF exists(SELECT * FROM Book WHERE Bname='SQL Server 2005基础教程') SELECT COUNT(*) AS SQLServer2005基础教程 FROM Book WHERE Bname='SQL Server 2005基础教程' ELSE PRINT '英语和SQL Server 2005基础教程两种书都没有!',8.3.1IFELSE语句,BEGING END图书查询 USE Library GO DECLARE ebook int,cbook int IF exists(SELECT * FROM Book WHERE Bname='英语') BEGIN SELECT ebook=COUNT(*) FROM Book WHERE Bname='英语' PRINT '英语书数量'+RTRIM(CAST(ebook AS char(4)+'册' /*CAST:转换数据类型,RTRIM:去右空格*/ END ELSE PRINT '英语书没有!' IF exists(SELECT * FROM Book WHERE Bname='SQL Server 2005基础教程') BEGIN SELECT cbook=COUNT(*) FROM Book WHERE Bname='SQL Server 2005基础教程' PRINT 'SQL Server 2005基础教程'+RTRIM(CAST(cbook AS char(4)+'册' END ELSE PRINT ' SQL Server 2005基础教程没有!',8.3.2WHILE语句,语法: WHILE 逻辑表达式 Begin T-SQL语句组 break/*终止整个语句的执行*/ continue/*结束一次循环体的执行*/ END,8.3.2WHILE语句,例24:一个小循环程序 DECLARE X int SET X=0 WHILE x3 BEGIN SET x=X+1 PRINT 'x='+convert(char(1),x) -类型转换函数convert END GO,8.3.3GOTO语句,GOTO语句将执行语句无条件跳转到标签处,并从标签位置继续处理。GOTO语句和标签可在过程、批处理或语句块中的任何位置使用。其语法格式为: GOTO label,8.3.4WAITFOR语句,WAITFOR语句,称为延迟语句,设定在达到指定时间或时间间隔之前,或者指定语句至少修改或返回一行之前,阻止执行批处理、存储过程或事务。其语法格式为: WAITFOR DELAY 'time_to_pass' /* 设定等待时间 */ | TIME 'time_to_execute' /* 设定等待带某一时刻 */ ,8.3.4WAITFOR语句,例:延迟30秒执行查询。 USE Library GO WAITFOR DELAY 00:00:30 SELECT * FROM Reader,8.3.4WAITFOR语句,例:在时刻21:20:00执行查询。 USE Library GO WAITFOR TIME '21:20:00' SELECT * FROM Reader,8.3.5RETURN语句,RETURN语句从查询或过程中无条件退出。RETURN的执行是即时且完全的,可在任何时候用于从过程、批处理或语句块中退出。RETURN之后的语句是不执行的。如果用于存储过程,RETURN不能返回空值。其语法格式为: RETURN integer_expression ,8.4CASE表达式,计算条件列表并返回多个可能结果表达式之一。 CASE 具有两种格式: 简单 CASE 函数将某个表达式与一组简单表达式进行比较以确定结果。 CASE 搜索函数计算一组布尔表达式以确定结果,8.4CASE表达式,简单式 CASE 表达式 WHEN 表达式的值1 THEN 返回表达式1 WHEN 表达式的值2 THEN 返回表达式2 ELSE 返回表达式n END,8.4CASE表达式,例:显示各读者可借书的数量。 USE Library GO SELECT Rname,rt.Typename AS 类型,限借阅量= CASE r.TypeID WHEN 3 THEN '可以借本书!' WHEN 2 THEN '可以借本书!' WHEN 1 THEN '可以借本书!' ELSE '无规定' END FROM Reader r,ReaderType rt WHERE r.TypeID=rt.TypeID,8.4CASE表达式,搜索式 CASE WHEN 逻辑表达式1 THEN 返回表达式1 WHEN 逻辑表达式2 THEN 返回表达式2 ELSE 返回表达式n END,8.4CASE表达式,例:显示各读者可借书的数量CASE USE Library GO SELECT Rname,rt.Typename AS 类型,限借阅量= CASE WHEN r.TypeID =3 THEN '可以借本书!' WHEN r.TypeID =2 THEN '可以借本书!' WHEN r.TypeID =1 THEN '可以借本书!' ELSE '无规定' END FROM Reader r,ReaderType rt WHERE r.TypeID=rt.TypeID,

    注意事项

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

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




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

    网站客服QQ:2881952447     

    copyright@ 2020-2024  renrendoc.com 人人文库版权所有   联系电话:400-852-1180

    备案号:蜀ICP备2022000484号-2       经营许可证: 川B2-20220663       公网安备川公网安备: 51019002004831号

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