- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第6章 T-SQL编程 回顾数据库设计:需求分析、实体以及实体间联系的抽象E-R图使用PowerDesigner设计概念数据模型和物理数据模型聚合函数、分组查询、联接查询子查询理论内容T-SQL概述T-SQL中的变量T-SQL流程控制语句6.1 T-SQL概述 T-SQL即Transact-SQL,是SQL在Microsoft SQL Server上的增强版,其为使应用程序与SQL Server相沟通的主要语言。T-SQL提供了标准SQL的DDL和DML功能,其延伸的函数、系统预定义程序以及程序设计结构(如IF和WHILE)让程序设计更有弹性。Microsoft公司采用T-SQL作为SQL Server的核心组件,在T-SQL中,命令和语句的书写不区分大小写。6.2 T-SQL变量 T-SQL标识符 局部变量 全局变量6.2.1 T-SQL 标识符 SQL Server中的每一项对象均有一个作为标识用的名称 ,该名称即为T-SQL标识符。如:数据库名、数据表名、字段名称、存储过程名、视图名、索引名等 。T-SQL 标识符命名规则 常规标识符 以ASCII字母、Unicode字母、下划线(_)、@或#开头,其后可跟一个或若干个ASCII字符、Unicode字符、下划线(_)、美元符号($)、@或#,但不能全为下划线(_)、@或# 。常规标识符不能是T-SQL保留字,如SELECT、UPDATE等。分隔标识符包括在双引号(“”)或方括号([ ])内的常规标识符,或不符合常规标识符规则的标识符。如“SELECT”、“Emp Salary”等 。6.2.2 T-SQL局部变量局部变量是作用域局限在一定范围内的T-SQL对象。局部变量在一个批处理或存储过程中被声明或定义。当该批处理结束后,此局部变量的生命周期便随之消亡。局部变量是用户自定义的变量,其名称以@作为前缀。 DECLARE @e_mail varchar(50) DECLARE @lastname varchar(30), @firstname varchar(20), @tel varchar(30)6.2.2 T-SQL局部变量使用SET语句为局部变量赋值 USE Meitao GO DECLARE @count int, @categoryID int SET @categoryID = 7 SET @count=(SELECT COUNT(*) FROM Product WHERE categoryID = @categoryID) PRINT 火锅类商品数量:+CONVERT(NVARCHAR(50),@count6.2.2 T-SQL局部变量使用SELECT语句为局部变量赋值 DECLARE @count int SELECT @count = (SELECT COUNT(*) FROM Product WHERE catagoryID=13)SET赋给变量的值通常是给定的;而SELECT赋给变量的值则由查询获得。6.2.3 全局变量全局变量是用于记录SQL Server服务器活动状态的一组数据,是由SQL Server系统提供并赋值的变量。用户不能建立全局变量,也不能为全局变量赋值或直接更改全局变量的值。全局变量的名称以@@开始。SQL Server常见全局变量变 量 名作 用@@ERROR返回执行上一条Transact-SQL语句所返回的错误号@@IDENTITY返回最后插入的标志值@@MAX_CONNECTIONS返回SQL Server实例所允许同时连接的最大用户数@@ROWCOUNT返回上一条语句影响的行数@@SERVERNAME返回运行SQL Server的本地服务器名称@@SERVICENAME返回SQL Server正在运行的注册表项的名称。若当前实例为默认实例,则@@SERVICENAME返回MSSQLSERVER;若当前实例为命名实例,则返回该命名实例名@@TRANCOUNT返回当前连接的活动事务数6.3 流程控制语句BEGIN…END将多个SQL语句限制在其中,作为一个逻辑执行块。至少包含一条SQL语句,否则将出错。IF…ELSEDECLARE @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 已经成年“DATEDIFF(YYYY,bir
原创力文档


文档评论(0)