Transact-SQL编程的要点有哪些

Admin 2022-08-06 群英技术资讯 264 次浏览

这篇文章主要介绍了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编程的要点有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业技术相关的知识可以关注群英网络网站,小编每天都会为大家更新不同的知识。 群英智防CDN,智能加速解决方案
标签: Transact-SQL编程

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。

猜你喜欢

成为群英会员,开启智能安全云计算之旅

立即注册
专业资深工程师驻守
7X24小时快速响应
一站式无忧技术支持
免费备案服务
免费拨打  400-678-4567
免费拨打  400-678-4567 免费拨打 400-678-4567 或 0668-2555555
在线客服
微信公众号
返回顶部
返回顶部 返回顶部
在线客服
在线客服