iT邦幫忙

1

sp_executesql 產生參數問題請教

  • 分享至 

  • xImage

您好:
如下語法

	DECLARE @ct smallint;
		set @SQL = ' DECLARE @ct smallint;select @ct=COUNT('+@Field+') from ' + @Table + ' where ' + @Field + '=''' + @XX + ''''
		print('2 --> ' + @SQL)
		EXEC sp_executesql @SQL

		select @ct

但結果
select @ct 卻是NULL
請問 ,這有辦法 撈出他的結果值嗎?
謝謝

圖片
  直播研討會

2 個回答

1
純真的人
iT邦大師 1 級 ‧ 2025-02-08 10:59:44
最佳解答

參考 如何取得 sp_executesql 參數回傳值

DECLARE @SQL nvarchar(max)
,@Count int=0;

set @SQL = 'select @CountOut=123456789 '

declare @CountSetOut nvarchar(max) = '@CountOut int OUTPUT'

EXEC sp_executesql @SQL , @CountSetOut , @CountOut = @Count OUTPUT

select @Count "測試資料"

noway iT邦研究生 1 級 ‧ 2025-02-11 13:50:44 檢舉

謝謝您的回覆
這樣OK

1
allenlwh
iT邦高手 1 級 ‧ 2025-02-08 09:31:45
set @SQL = ' DECLARE @ct smallint;select @ct=COUNT('+@Field+') from ' + @Table + ' where ' + @Field + '=''' + @XX + ''';select @ct as cnt '

https://ithelp.ithome.com.tw/upload/images/20250208/20033493t3fKRSFWgI.png

我要發表回答

立即登入回答