日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

SqlServer之代码块相关

發(fā)布時(shí)間:2023/12/9 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SqlServer之代码块相关 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

轉(zhuǎn)載必需注明出處:http://www.ncloud.hk/%E6%8A%80%E6%9C%AF%E5%88%86%E4%BA%AB/sqlserver-codeblock/

一、go語(yǔ)句

Go語(yǔ)句是SqlServer中用來(lái)表示當(dāng)前代碼塊結(jié)束提交并確認(rèn)結(jié)果的語(yǔ)句。

Go語(yǔ)句不能和其他Sql命令卸載同一行上!

定義的局部變量作用域局限在定義它的代碼快中,如:在go語(yǔ)句前定義的變量在go語(yǔ)句后面則不可用。

如果一次執(zhí)行多個(gè)用go語(yǔ)句分開(kāi)的代碼塊時(shí),其中一個(gè)代碼塊出錯(cuò)不會(huì)影響其他代碼塊的執(zhí)行

?

二、Begin……End語(yǔ)句

T-Sql使用begin…end來(lái)指定代碼塊,但是在begin…end中聲明的變量在end結(jié)束之后還可以使用,直到遇見(jiàn)go語(yǔ)句

1 begin 2 declare @i int=0 3 select @i 4 end 5 select @i 6 go 7 select @i

三、If……eles語(yǔ)句

SQL中的If…else語(yǔ)句和其他編程語(yǔ)言中的語(yǔ)法一樣,Sql中的if…else可以不用添加括號(hào)。另外SQL中還有if?exists…else和if?not?exists…else的用法

--創(chuàng)建臨時(shí)表@table 1 declare @table table( Id int)2 insert into @table values(1)3 if( 1=1) 4 select * from @table5 else6 select 17 8 if exists( select * from @table)9 begin 10 select * from @table 11 end 12 13 if not exists( select * from @table) 14 begin 15 select * from @table 16 end

四、Case…When…then…else…end語(yǔ)句

Case具有兩種格式,簡(jiǎn)單Case函數(shù)和Case搜索函數(shù)。

1 --簡(jiǎn)單Case函數(shù) 2 CASE sex 3 WHEN '1' THEN '男' 4 WHEN '2' THEN '女' 5 ELSE '其他' END 6 --Case搜索函數(shù) 7 CASE WHEN sex = '1' THEN '男' 8 WHEN sex = '2' THEN '女' 9 ELSE '其他' END

上面兩種格式可以實(shí)現(xiàn)相同的功能,但是簡(jiǎn)單的case相對(duì)來(lái)說(shuō)寫法比較方便,但是他的功能也就有些限制,如對(duì)sex寫判斷比較的時(shí)候就只能選擇case搜素函數(shù)方式。如下:

1 CASE WHEN sex > 1 THEN '男' 2 WHEN sex < 2 THEN '女' 3 ELSE '其他' END

五、While語(yǔ)句

While循環(huán)主要是根據(jù)while后邊的值來(lái)判斷循環(huán)語(yǔ)句是否繼續(xù)執(zhí)行,如下:

1 declare @var_a int = 10 2 while( @var_a > 0) 3 begin 4 select @var_a 5 set @var_a=@var_a-1 6 end

While循環(huán)語(yǔ)句通常和游標(biāo)(cursor)一塊使用如:

1 declare MyCursor cursor for select Name from #table --定義游標(biāo),游標(biāo)數(shù)據(jù)集來(lái)源臨時(shí)表#table2 open MyCursor --打開(kāi)游標(biāo)以供下面代碼使用3 fetch next from MyCursor into @name --將游標(biāo)指向的值賦值給臨時(shí)變量@name,游標(biāo)指向下一條數(shù)據(jù)4 while @@FETCH_STATUS=0 --判斷游標(biāo)是否到最后一條記錄5 begin6 select @name7 fetch next from MyCursor into @name8 end9 close MyCursor --關(guān)閉游標(biāo) 10 deallocate MyCursor -- 釋放最后的游標(biāo)引用時(shí)

轉(zhuǎn)載于:https://www.cnblogs.com/ouyy/p/9854699.html

總結(jié)

以上是生活随笔為你收集整理的SqlServer之代码块相关的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。