加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

Transact-SQL编程的重点有哪些

发布时间:2023-05-10 10:58:19 所属栏目:MsSql教程 来源:
导读:这篇文章主要介绍了Transact-SQL编程的要点有哪些相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Transact-SQL编程的要点有哪些文章都会有所收获,下面我们一起来看看吧。T-SQL语句用于

这篇文章主要介绍了Transact-SQL编程的要点有哪些相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Transact-SQL编程的要点有哪些文章都会有所收获,下面我们一起来看看吧。

T-SQL语句用于管理SQL Server数据库引擎实例,创建和管理数据库对象,以及查询、插入、修改和删除数据。

变量

1、 局部变量(Local Variable)

局部变量是用户可以自定义的变量,它的作用范围是仅在程序内部,在程序中通常用来储存从表中查询到的数据或当做程序执行过程中的暂存变量。使用局部变量必须以@开头,而且必须用declare命令后才能使用。

基本语法:

声明变量

declare @变量名 变量类型 [@变量名 变量类型]

为变量赋值

set @变量名 = 变量值;

select @变量名 = 变量值;

示例:

--局部变量

declare @id char(10)--声明一个长度的变量id

declare @age int --声明一个int类型变量age

select @id = 22 --赋值操作

set @age = 55 --赋值操作

print convert(char(10), @age) + '#' + @id

select @age, @id

go

简单hello world示例

declare @name varchar(20);

declare @result varchar(200);

set @name = 'jack';

set @result = @name + ' say: hello world!';

select @result;

查询数据示例

declare @id int, @name varchar(20);

set @id = 1;

select @name = name from student where id = @id;

select @name;

select赋值

declare @name varchar(20);

select @name = 'jack';

select * from student where name = @name;

从上面的示例可以看出,局部变量可用于程序中保存临时数据、传递数据。Set赋值一般用于赋值指定的常量个变量。而select多用于查询的结果进行赋值,当然select也可以将常量赋值给变量。

注意:在使用select进行赋值的时候,如果查询的结果是多条的情况下,会利用最后一条数据进行赋值,前面的赋值结果将会被覆盖。

2、 全局变量(Global Variable)

全局变量是系统内部使用的变量,其作用范围并不局限于某一程序而是任何程序均可随时调用的。全局变量一般存储一些系统的配置设定值、统计数据。

--局部变量

declare @id char(10)--声明一个长度的变量id

declare @age int --声明一个int类型变量age

select @id = 22 --赋值操作

set @age = 55 --赋值操作

print convert(char(10), @age) + '#' + @id

select @age, @id

go

简单hello world示例

declare @name varchar(20);

declare @result varchar(200);

set @name = 'jack';

set @result = @name + ' say: hello world!';

select @result;

查询数据示例

declare @id int, @name varchar(20);

set @id = 1;

select @name = name from student where id = @id;

select @name;

select赋值

declare @name varchar(20);

select @name = 'jack';

select * from student where name = @name;

输出语句

T-SQL支持输出语句,用于显示结果。常用输出语句有两种:

基本语法

print 变量或表达式

select 变量或表达式

示例

select 1 + 2;

select @@language;

select user_name();

print 1 + 2;

print @@language;

print user_name();

print在输出值不少字符串的情况下,需要用convert转换成字符串才能正常输出,而且字符串的长度在超过8000的字符以后,后面的将不会显示。

逻辑控制语句

1、 if-else判断语句

语法

if <表达式>

<命令行或程序块>

else if <表达式>

<命令行或程序块>

else

<命令行或程序块>

示例

if简单示例

if 2 > 3

print '2 > 3';

else

print '2 < 3';

if (2 > 3)

print '2 > 3';

else if (3 > 2)

print '3 > 2';

else

print 'other';

简单查询判断

declare @id char(10),

@pid char(20),

@name varchar(20);

set @name = '广州';

select @id = id from ab_area where areaName = @name;

select @pid = pid from ab_area where id = @id;

print @id + '#' + @pid;

if @pid > @id

begin

print @id + '%';

select * from ab_area where pid like @id + '%';

end

else

begin

print @id + '%';

print @id + '#' + @pid;

select * from ab_area where pid = @pid;

end

go

2、 while…continue…break循环语句

基本语法

while <表达式>

begin

<命令行或程序块>

[break]

[continue]

<命令行或程序块>

end

示例

--while循环输出到

declare @i int;

set @i = 1;

while (@i < 11)

begin

print @i;

set @i = @i + 1;

end

go

--while continue 输出到

declare @i int;

set @i = 1;

while (@i < 11)

begin

if (@i < 5)

begin

set @i = @i + 1;

continue;

end

print @i;

set @i = @i + 1;

end

go

--while break 输出到

declare @i int;

set @i = 1;

while (1 = 1)

begin

print @i;

if (@i >= 5)

begin

set @i = @i + 1;

break;

end

set @i = @i + 1;

end

go

3、 case

基本语法

case

when <条件表达式> then <运算式>

when <条件表达式> then <运算式>

when <条件表达式> then <运算式>

[else <运算式>]

end

示例

select *,

case sex

when 1 then '男'

when 0 then '女'

else '火星人'

end as '性别'

from student;

select areaName, '区域类型' = case

when areaType = '省' then areaName + areaType

when areaType = '市' then 'city'

when areaType = '区' then 'area'

else 'other'

end

from ab_area;

4、 其他语句

批处理语句go

Use master

Go

延时执行,类似于定时器、休眠等

waitfor delay '00:00:03';--定时三秒后执行

print '定时三秒后执行';

“Transact-SQL编程的要点有哪些”的内容就介绍到这里了,感谢大家的阅读。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章