欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SQL Server Transact-SQL編程詳解

 更新時間:2022年01月19日 14:31:02   作者:hoojo  
這篇文章主要為大家介紹了SQL Server Transact-SQL編程,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助

T-SQL語句用于管理SQL Server數(shù)據(jù)庫引擎實例,創(chuàng)建和管理數(shù)據(jù)庫對象,以及查詢、插入、修改和刪除數(shù)據(jù)。

變量

1、 局部變量(Local Variable)

局部變量是用戶可以自定義的變量,它的作用范圍是僅在程序內(nèi)部,在程序中通常用來儲存從表中查詢到的數(shù)據(jù)或當做程序執(zhí)行過程中的暫存變量。使用局部變量必須以@開頭,而且必須用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;
查詢數(shù)據(jù)示例
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;

從上面的示例可以看出,局部變量可用于程序中保存臨時數(shù)據(jù)、傳遞數(shù)據(jù)。Set賦值一般用于賦值指定的常量個變量。而select多用于查詢的結(jié)果進行賦值,當然select也可以將常量賦值給變量。

注意:在使用select進行賦值的時候,如果查詢的結(jié)果是多條的情況下,會利用最后一條數(shù)據(jù)進行賦值,前面的賦值結(jié)果將會被覆蓋。

2、 全局變量(Global Variable)

全局變量是系統(tǒng)內(nèi)部使用的變量,其作用范圍并不局限于某一程序而是任何程序均可隨時調(diào)用的。全局變量一般存儲一些系統(tǒng)的配置設定值、統(tǒng)計數(shù)據(jù)。

--局部變量
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;
查詢數(shù)據(jù)示例
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支持輸出語句,用于顯示結(jié)果。常用輸出語句有兩種:

基本語法

print 變量或表達式
select 變量或表達式

示例

select 1 + 2;
select @@language;
select user_name();
print 1 + 2;
print @@language;
print user_name();

print在輸出值不少字符串的情況下,需要用convert轉(zhuǎn)換成字符串才能正常輸出,而且字符串的長度在超過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循環(huán)語句

基本語法

while <表達式>
begin
   <命令行或程序塊>
   [break]
   [continue]
   <命令行或程序塊>
end

示例

--while循環(huán)輸出到
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, '區(qū)域類型' = case
        when areaType = '省' then areaName + areaType
        when areaType = '市' then 'city'
        when areaType = '區(qū)' then 'area'
        else 'other'
    end
from ab_area;

4、 其他語句

批處理語句go
Use master
Go
延時執(zhí)行,類似于定時器、休眠等
waitfor delay '00:00:03';--定時三秒后執(zhí)行
print '定時三秒后執(zhí)行';

總結(jié)

本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!

相關文章

最新評論