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

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

生活随笔

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

编程问答

SqlServer中存储过程中将Exec的执行结果赋值给变量输出

發(fā)布時(shí)間:2025/5/22 编程问答 18 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SqlServer中存储过程中将Exec的执行结果赋值给变量输出 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

原文 SqlServer中存儲(chǔ)過(guò)程中將Exec的執(zhí)行結(jié)果賦值給變量輸出

背景:

遇到這樣一種情況:動(dòng)態(tài)向存儲(chǔ)過(guò)程中傳入表名和表的某些屬性(這里用到的是主鍵ID),然后利用這兩個(gè)變量查出一條數(shù)據(jù)的某些字段值,然后再利用這些值進(jìn)行邏輯運(yùn)算(自己的邏輯),最后將結(jié)果輸出。話不多說(shuō),直接上圖,看是否是你想要的結(jié)果:

說(shuō)明:【區(qū)域1為要用來(lái)測(cè)試的表】【 區(qū)域2 為表中數(shù)據(jù)】【區(qū)域3 為表中數(shù)據(jù)jan+feb+mar列值的和5】

存儲(chǔ)過(guò)程代碼如下:

從上圖可以看出既然可以拿到j(luò)an 、feb、mar列的值,后面再做自己的判斷就容易了。不再贅述。

由于學(xué)藝不精,上述結(jié)論是受別人的啟發(fā)才得出的,相關(guān)鏈接:http://www.cnblogs.com/wanyuan8/archive/2011/11/09/2243483.html

下面貼出原作者博文原文(身為一名程序員,你懂的):

sp_executesql介紹和使用 execute相信大家都用的用熟了,簡(jiǎn)寫(xiě)為exec,除了用來(lái)執(zhí)行存儲(chǔ)過(guò)程,一般都用來(lái)執(zhí)行動(dòng)態(tài)Sql
sp_executesql,sql2005中引入的新的系統(tǒng)存儲(chǔ)過(guò)程,也是用來(lái)處理動(dòng)態(tài)sql的, 如:
exec sp_executesql @sql, N'@count int out,@id varchar(20)', @cou out
,@id
@sql為拼成的動(dòng)態(tài)sql
N'@count int out,@id varchar(20)'為拼成的動(dòng)態(tài)sql內(nèi)的參數(shù)列表
@cou out,@id為為動(dòng)態(tài)sql內(nèi)參數(shù)列表提供值的外部參數(shù)列表

那么它們之間有什么區(qū)別呢?

1,它們之間最大的區(qū)別是嵌入式的參數(shù),如下面一個(gè)語(yǔ)句
declare @sql nvarchar(2000)
declare @id varchar(20)
set @id='1'
set @sql='select count(*) from emp where id=' + @id
exec @sql
我想把得到的count(*)傳出來(lái),用傳統(tǒng)的exec是不好辦到的,但是用sp_executesql則很容易就辦到了:
declare @sql nvarchar(2000)
declare @cou int
declare @id varchar(20)
set @id='1'
set @sql='select @count=count(*) from emp where id=@id'
exec sp_executesql @sql, N'@count int out,@id varchar(20)', @cou out,@id
print @cou
2.性能
可以看到,如果用exec,由于每次傳入的@id不一樣,所以每次生成的@sql就不一樣,這樣每執(zhí)行一次Sql2005就必須重新將要執(zhí)行的動(dòng)態(tài)Sql重新編譯一次
但是sp_executesql則不一樣,由于將數(shù)值參數(shù)化,要執(zhí)行的動(dòng)態(tài)Sql永遠(yuǎn)不會(huì)變化,只是傳入的參數(shù)的值在變化,那每次執(zhí)行的時(shí)候就秒用重新編譯,速度自然快多了哈!

注意:
1.sp_executesql要求動(dòng)態(tài)Sql和動(dòng)態(tài)Sql參數(shù)列表必須是Nvarchar,比如上個(gè)例子的@sql,N'@count int out,@id varchar(20)'我記得在sql2005中Varchar也可以的,但是我打了Sp3補(bǔ)丁后就不行了,必須為Nvarchar
2.動(dòng)態(tài)Sql的參數(shù)列表與外部提供值的參數(shù)列表順序必需一致,如:
N'@count int out,@id varchar(20)', @cou out,@id
@count 對(duì)應(yīng) @cou,@id對(duì)應(yīng)@id
如果不一致,必須顯式標(biāo)明,如:
N'@count int out,@id varchar(20)', @id=@id, @count=@cou out
3.動(dòng)態(tài)SQl的參數(shù)列表與外部提供參數(shù)的參數(shù)列表參數(shù)名可以同名

總結(jié)

以上是生活随笔為你收集整理的SqlServer中存储过程中将Exec的执行结果赋值给变量输出的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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

主站蜘蛛池模板: 亚洲AV无码阿娇国产精品 | 午夜爽爽爽视频 | 国产色秀视频 | 伊人久久av | 欧美操大逼 | 日本xxxx高潮少妇 | 亚洲4区 | yy1111111| 精品国产欧美日韩 | 久久久一 | 日韩欧美精品国产 | 色综合99久久久无码国产精品 | 中文字幕电影一区 | 亚洲aaa级 | 日韩一区不卡视频 | 熟妇人妻精品一区二区三区视频 | 国产成人一区二区三区视频 | 外国av在线 | 国产精品久久影视 | 久久av色 | 欧美日韩国产在线播放 | 干爹你真棒插曲mv在线观看 | 免费在线观看网址入口 | 久久久久久久久久久网 | 99热8| 五月天校园春色 | 男女啪啪无遮挡 | 亚洲涩色 | 久青草视频在线 | 九色丨蝌蚪丨成人 | 国产又粗又猛又大爽 | av黄色在线看 | 在线不卡欧美 | 国产精品综合 | 日日夜夜精品视频免费 | 国精无码欧精品亚洲一区蜜桃 | a免费在线观看 | 国产码视频 | 丰满人妻妇伦又伦精品国产 | 久久久穴 | 欧美另类在线观看 | 欧美区日韩区 | 久久合合 | www.国产免费| 国产一区二区在线观看视频 | 久久久久亚洲av片无码v | 精品国产乱码久久久久久图片 | 天天插av | 国产妞干网| 亚洲欧美日韩中文字幕在线观看 | 91久久电影 | 欧美久久综合 | 91激情视频在线 | 精品影视一区二区 | 精品熟妇一区二区三区 | 国产网红主播精品av | youjizzxxx69 | 波多野在线播放 | 中文字幕观看在线 | 活大器粗np高h一女多夫 | 99自拍| 国产片在线播放 | 久久国产秒 | 亚洲欧美日韩一区二区三区四区 | 女仆裸体打屁屁羞羞免费 | 伊人365| 国产大片一区二区三区 | 永久免费在线观看视频 | 精品久久久久久中文字幕人妻最新 | 中文字幕亚洲激情 | 伊人网在线免费观看 | 中文字幕第页 | 爆乳熟妇一区二区三区霸乳 | 亚洲欧美日韩在线播放 | 亚洲第8页 | 日本妈妈9 | 久久精品3 | 国产午夜一级一片免费播放 | 国产绿帽一区二区三区 | 天天色综合图片 | 97超碰免费在线观看 | 蜜桃啪啪 | 一区二区三区高清 | 亚洲精品在线播放视频 | 超碰免费在线播放 | 双性尿奴穿贞c带憋尿 | 漂亮人妻被中出中文字幕 | 午夜激情在线播放 | 欧美激情二区三区 | 天干夜夜爽爽日日日日 | 黑花全肉高h湿play短篇 | 欧美三级特黄 | 看全黄大色黄大片美女人 | 国产男女自拍 | 欧美h视频在线观看 | 国产一级做a爱片久久毛片a | 日日碰狠狠添天天爽无码 | 精品综合久久久久 | 久久综合五月 |