前言
T-SQL 即 Transact-SQL,是 SQL 在 Microsoft SQL Server 上的增强版,它是用来让应用程序与 SQL Server 沟通的主要语言。T-SQL 提供标准 SQL 的 DDL 和 DML 功能,加上延伸的函数、系统预存程序以及程式设计结构(例如 IF 和 WHILE)让程式设计更有弹性
Transact Structured Query Language 它是ANSI和ISO SQL 标准的Microsoft SQL Server方言或扩展,中文理解为:SQL SERVER专用标准结构化查询语言增强版。在 Microsoft SQL Server 7.0 中 T-SQL 有着为数不少的新增功能,包括新的预存程序、系统资料表、函数、资料型别、陈述式以及现存陈述式中的选项。这些都被保留在 SQL Server 2000 中,因此我们在这里要先回顾 (特别是在您还不很熟悉 SQL Server 7.0 中 T-SQL 的功能,这个温习就很重要了)。
创建一个表的时候,必须决定字段定义所要使用的数据类型。数据类型定义了可以存储在一个字段中的数据种类。DBA可以使用数据类型来定义变量和存储过程的输入和输出参数。你必须为每个字段或变量选择一个数据类型以适配于存储在相应字段或变量中的数据。另外,还需要考虑存储需求并选择高效率存储的数据类型。举个例子,想要存储介于0到255的正数时通常要用tinyint替代smallint,int或bigint。这是因为tinyint是一个固定的1字节字段,而smallint为2字节,int为4字节还有bigint为一个8字节的固定字段。
选择正确的数据类型还可以改善数据完整性。例如,如果为一个日期字段使用datetime数据类型,那么只有日期才能存储在此字段中。然而,如果为此字段使用字符或数字数据类型,那么最终的结果就可以在此字段中存储任何字符和数字类型的数据值,而它们并不代表一个日期。
最后,选择正确的数据类型会带来正确的执行计划,从而改善数据库性能。
一、编写T-SQL程序,计算 1 2 − 3 4 − 5 … − 99 100 =?
T-SQL程序代码
代码语言:sql复制declare @i int,@j int,@sum int,@str varchar(500),@temp int
select @i=2,@j=-1,@sum=1,@str='1'
while(@i<=100)
begin
set @temp=power(@j,@i)*@i
set @sum = @sum @temp
if(@temp>0)
set @str =' ' cast(@temp as varchar(5))
else
set @str =cast(@temp as varchar(5))
set @i =1
end
print @str '=' cast(@sum as varchar(3))
执行结果:
二、写一个求三个数最大值的函数,输入为三个整数,输出为其中的最大值。
运行该函数。类似如下输出
T-SQL程序代码
代码语言:javascript复制 create function MyMax(
@num1 int,
@num2 int,
@num3 int
)
returns int
as
begin
declare @Maxnum int
if(@num1>=@num2)
set @Maxnum = @num1
else
set @Maxnum = @num2
if(@Maxnum>=@num3)
set @Maxnum = @Maxnum
else
set @Maxnum = @num3
return @Maxnum
end;
select dbo.MyMax( 7, 9, 13)
执行结果: