第06章:T-SQL编程讲解.pptxVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章;本章内容;讲解时间: 30分钟;T-SQL即Transact-SQL,是SQL在Microsoft SQL Server上的增强版,其为使应用程序与SQL Server相沟通的主要语言。 T-SQL提供了标准SQL的DDL和DML功能,其延伸的函数、系统预定义程序以及程序设计结构(如IF和WHILE)让程序设计更有弹性。 Microsoft公司采用T-SQL作为SQL Server的核心组件,在T-SQL中,命令和语句的书写不区分大小写。;SQL Server中的每一项对象均有一个作为标识用的名称 ,该名称即为T-SQL标识符。 如:数据库名、数据表名、字段名称、存储过程名、视图名、索引名等 。;常规标识符 以ASCII字母、Unicode字母、下划线(_)、@或#开头,其后可跟一个或若干个ASCII字符、Unicode字符、下划线(_)、美元符号($)、@或#,但不能全为下划线(_)、@或# 。 常规标识符不能是T-SQL保留字,如SELECT、UPDATE等。 分隔标识符 包括在双引号(“”)或方括号([ ])???的常规标识符,或不符合常规标识符规则的标识符。如“SELECT”、“Emp Salary”等 。 ;局部变量 全局变量;局部变量是作用域局限在一定范围内的T-SQL对象。 局部变量在一个批处理或存储过程中被声明或定义。 当该批处理结束后,此局部变量的生命周期便随之消亡。 局部变量是用户自定义的变量,其名称以@作为前缀。;使用SET语句为局部变量赋值 ;使用SELECT语句为局部变量赋值 ;全局变量是用于记录SQL Server服务器活动状态的一组数据,是由SQL Server系统提供并赋值的变量。 用户不能建立全局变量,也不能为全局变量赋值或直接更改全局变量的值。 全局变量的名称以@@开始。;全局变量;IF…ELSE BEGIN…END 将多个SQL语句限制在其中,作为一个逻辑执行块。 至少包含一条SQL语句,否则将出错。 WHILE循环 CASE语句;DECLARE @years varchar(2),@name varchar(20) SET @name=刘亚蒙 SET @years=(SELECT DATEDIFF(YYYY,birthday,GETDATE()) FROM Customer WHERE customerName=@name) PRINT 客户+@name+的年龄是+@years+岁, IF @years=18 PRINT 还未成年 ELSE PRINT 已经成年;DECLARE @search varchar(50) SET @search=外套 IF EXISTS(SELECT * FROM Product WHERE title LIKE %+@search+%) BEGIN SELECT 此商品存在 SELECT title,currentPrice FROM Product WHERE title LIKE %+@search+% END ELSE SELECT 此商品不存在 ;WHILE循环 ;查询出“服装”类商品的最低团购价,如该价格低于100元,则将所有“服装”类商品的团购价上调百分之十,再次查询出加价之后的“服装”类商品的最低团购价,如该价格仍低于100元,则将所有“服装”类商品的团购价再次上调百分之十,依次反复,直至所有“服装”类商品的最低团购价高于100元。 ;DECLARE @price money --服装类商品最低团购价 DECLARE @categoryID int --服装类型编号 SET @categoryID=(SELECT categoryID FROM Category WHERE categoryName=服装) -- 取出服装类商品最低团购价,赋值给变量@price SET @price=(SELECT MIN(currentPrice) FROM Product WHERE categoryID=@categoryID) WHILE @price100 --循环条件 BEGIN --将所有服装类商品的团购价上调10% UPDATE Product SET currentPrice=currentPrice*1.1 WHERE categoryID=@categoryID -- 再次取出服装类商品的最低团购价,赋值给变量@price SET @price=(SELECT MIN(currentPrice) FROM Product WHERE categoryID=@categoryID) END PRINT 服装类商品最低团购价:+CONVERT(nvarchar(20),@price);CASE结构提供

文档评论(1)

  • 用户头像 1663313554e2af8 2022-09-16 15:33:53
    --编写T-SQL,计算每个订单的折扣系数!!!这题怎么解
shuwkb + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档