goodriver 2020-06-17
Transact-SQL 的缩写为T-SQL,T-SQL是Microsoft 公司的SQL Server的数据库语言,它是对标准SQL语言的扩充。
数据库中的数据通常需要定义一个数据类型,不同DBMS具体支持的数据类型大体相同,稍有差异,具体可参阅相关手册。
分为全局变量和局部变量。
T-SQL中的全局变量由系统定义和维护,全局变量前有两个 @@ 符号为标记,主要用于存放SQL Server工作状态信息。
全局变量可以使用select、print显示其当前值。
例如:
select @@SERVERNAME --返回运行SQL服务器名称。 select @@LANGUAGE --返回当前使用的语言名 select @@VERSION --返回SQL服务器安装的日期、版本和处理器类型 print APP_NAME () --当前会话的应用程序 print USER_NAME() --返回用户数据库用户名 print GETDATE() --当前时间
T-SQL中的局部变量是由用户定义和使用的变量,其作用范围仅仅局限在定义的T-SQL程序内。局部变量前以一个 @ 为标记。
(1)局部变量和其他高级语言一样,要先声明后使用,用DECLARE语句声明,它只能在声明该变量的批语句和过程体内使用。
格式:
DECLARE @local_variable data_type......
例如:
DECLARE @x int,@y char(20),@z int
(2) 局部变量的赋值
(3) 局部变量也可以使用select、print显示其当前值。
例1 给x和y赋值
declare @x int,@y char(20),@z char(20) select @x=100,@y=‘计算机‘,@z=‘数据库原理及应用‘ set @x=200 set @y=‘数学‘ SELECT @x=max(sage) FROM student
例2 接上面例子,显示x、y、z的当前值
SELECT @x,@y Print @z
运行结果:
(4) 局部变量还可在游标使用时由FETCH INTO赋值。
T-SQL主要的流程控制语句包括:
GO:批处理命令的结束标志;
IF ELSE :条件选择语句;
BEGIN ... END :定义语句块;
GOTO :无条件转移语句;
WHILE :循环语句;
BREAK :循环跳出语句;
CONTINUE :继续执行循环语句
WAITFOR : 设置语句执行的延迟时间;
RETURN:从查询或存储过程无条件跳出;
CASE 表达式 :按表达式返回条件分支;