T-SQL编程与应用
教学目标:
了解T-SQL的基本知识,掌握表达式中典型的函数应用,掌握T-SQL常用的语句以及简单应用。
T-SQL语言基础
T-SQL语言的编程功能
基本功能
支持ANSI SQL-92标准:DDL,DML,DCL,DD
扩展功能
加入程序流程控制结构
加入局部变量,系统变量等
标识符
标识符分类
常规标识符(严格遵守标识符格式规则)
界定标识符(引号’或方括号[])
标识符格式规则
字母或_、@、#开头的字母数字或_、@、$序列
不与保留字相同
长度小于128
*不符合规则的标识符必须加以界定(双引号””或方括号[])
对象命名规则
注释
不执行语句。
注释多行
/* fshjhfjkshfjsdhfsdjf
fsjdkfljskdlfjkldsfjkdslfjfjfj */
注释单行
--ghjfghkfdjhgkfhgjfdhgkgjfdh
表达式
数据类型
在 SQL Server 2005 中,每个列、局部变量、表达式和参数都具有一个相关的数据类型。数据类型是一种属性,用于指定对象可保存的数据的类型:整数数据、字符数据、货币数据、日期和时间数据、二进制字符串等。第5章已进行了较为详细的介绍,此处不再赘述。
变量
局部变量
作用域:批处理、存储过程或触发器内。
声明
DECLARE
{
@变量名数据类型,@变量名数据类型
}
变量名必须以 at 符(@) 开头。局部变量名必须符合有关标识符的规则。
数据类型:是系统提供的类型、CLR 用户定义类型或别名数据类型。变量不能是 text、ntext 或 image 数据类型。
赋值
格式:SELECT @变量名=表达式/SELECT 子句(最后一个值或空)
例8-1:SELECT命令赋值,执行脚本
USE Library
GO
DECLARE ***@var1 varchar(8) --声明局部变量
SELECT ***@var1='读者姓名' --为局部变量赋值
SELECT ***@var1=Rname --查询结果赋值给变量
FROM Reader
WHERE RID='2003216008'
SELECT ***@var1 as '读者姓名' --显示局部变量结果
执行结果:
例8-2:SELECT命令赋值,多个返回值中取最后一个
USE Library
DECLARE ***@var1 varchar(8)
SELECT ***@var1='读者姓名'
SELECT ***@var1=Rname --查询结果赋值
FROM Reader
SELECT ***@var1 AS '读者姓名' --显示局部变量的结果
执行结果:
格式:SET @变量名=表达式
例8-3:SET命令赋值
USE Library
DECLARE ***@no varchar(10)
SET ***@no='2004060003' --变量赋值
SELECT RID,Rname
FROM Reader
WHERE RID=***@no
GO
执行结果:
全局变量
@@变量名
记录SQL Server服务器活动状态的一组数据,系统提供的30个全局变量。
例8-4:显示SQL Server的版本。
函数
SQL Server 2005 提供了一些内置函数,用户可以使用这些函数方便的实现一些功能。以下举例说明一些常用的函数,其他函数请参考联机手册。P93
聚合函数
COUNT ,SUM ,AVG,MAX,MIN在第6章介绍过。
例:查询出图书中价格最高的图书
USE Library
GO
SELECT MAX(Price)
FROM Book
日期时间函数
DATEADD():返回加上一个时间的新时间
DECLARE ***@OLDTime datetime
SET ***@OLDTime='24 March 2006 3:00 PM'
SELECT DATEADD(hh,4,***@OldTime)
DATEDIFF():两时间之差
DECLARE ***@FirstTime datetime, ***@SecondTime datetime
SET ***@FirstTime='24 March 2006 3:00 PM'
SET ***@SecondTime='24 March 2006 3:33 PM'
SELECT DATEDIFF(ms,***@FirstTime,***@SecondTime)
DATENAME():返回年月日星期等字符串。
DECLARE ***@StatementDate datetime
SET ***@StatementDate=
第8章 T-SQL编程与应用 来自淘豆网m.daumloan.com转载请标明出处.