国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 開(kāi)發(fā) > 綜合 > 正文

SQL中獲得EXEC后面的sql語(yǔ)句或返回值的方法

2024-07-21 02:44:05
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言:在數(shù)據(jù)庫(kù)程序開(kāi)發(fā)的過(guò)程中,我們經(jīng)常會(huì)碰到利用EXEC來(lái)執(zhí)行一段需要返回某些值的sql語(yǔ)句(通常是構(gòu)造動(dòng)態(tài)sql語(yǔ)句時(shí)使用),或者在一個(gè)存儲(chǔ)過(guò)程中利用EXEC調(diào)用另一個(gè)有返回值的存儲(chǔ)過(guò)程(必須獲得返回值),那么如何獲得這些返回值呢?


1.EXEC執(zhí)行sql語(yǔ)句的情況

declare @rsql varchar(250)

declare @csql varchar(300)

declare @rc nvarchar(500)

declare @cstucount int

declare @ccount int

set @rsql='(select Classroom_id from EA_RoomTime where zc='+@zc+' and xq='+@xq+' and T'+@time+'=''否'') and ClassroomType=''1'''

--exec(@rsql)

set @csql='select @a=sum(teststucount),@b=sum(classcount) from EA_ClassRoom where classroom_id in '

set @rc=@csql+@rsql

exec sp_executesql @rc,N'@a int output,@b int output',@cstucount output,@ccount output--將exec的結(jié)果放入變量中的做法

--select @csql+@rsql

--select @cstucount

上面的@rc這個(gè)sql語(yǔ)句的功能是找出特定時(shí)間段里所有有空的教室數(shù)量以及這些教室所能容納的學(xué)生人數(shù),因?yàn)樯婕暗絼?dòng)態(tài)的sql語(yǔ)句(@csql這句里條件中有一個(gè)列名是動(dòng)態(tài)變化的)的構(gòu)造,所以要放在exec里執(zhí)行,但是同時(shí)我又要返回2個(gè)結(jié)果,所以執(zhí)行時(shí)的代碼為:

 

exec sp_executesql @rc,N'@a int output,@b int output',@cstucount output,@ccount output--將exec的結(jié)果放入變量中的做法

 

這樣就將返回值放到了,@cstucount,@ccount兩個(gè)變量中,得到了我們想要的結(jié)果。


2.exec執(zhí)行帶返回值的存儲(chǔ)過(guò)程的情況


我們來(lái)看一個(gè)簡(jiǎn)單的存儲(chǔ)過(guò)程:


create PRocedure ProTest

(

@name varchar(10),

@money int output

)

as

begin

if(@name='1')

set @money=1000

else

set @money=2000

end

這個(gè)只是一個(gè)簡(jiǎn)單的示例,這個(gè)存儲(chǔ)過(guò)程返回的是@money 這個(gè)參數(shù)的值,那么當(dāng)我們?cè)诹硗庖粋€(gè)存儲(chǔ)過(guò)程中調(diào)用此存儲(chǔ)過(guò)程的時(shí)候如何獲取這個(gè)參數(shù)呢,方法如下:


declare @m int ---用來(lái)接收返回值的變量

exec ProTest @name='1',@money=@m output --一定要注名是output

就這么簡(jiǎn)單,我們就獲得了返回值。


發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 平顺县| 中宁县| 玛曲县| 梨树县| 秀山| 开远市| 司法| 海安县| 余庆县| 阿坝| 乾安县| 四平市| 大石桥市| 贵州省| 八宿县| 鄂托克前旗| 长沙市| 诸城市| 哈尔滨市| 六枝特区| 许昌市| 沐川县| 马边| 睢宁县| 五莲县| 乌海市| 邵东县| 勐海县| 大邑县| 肥乡县| 公主岭市| 杭州市| 广宁县| 闽清县| 汪清县| 岳池县| 松阳县| 安多县| 肃宁县| 浠水县| 剑阁县|