亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何將sp_Executesql結果轉化為變量?

如何將sp_Executesql結果轉化為變量?

臨摹微笑 2019-07-25 14:14:21
如何將sp_Executesql結果轉化為變量?我需要執行一段動態SQL,然后需要將結果存儲到一個變量中。我知道我可以用sp_executesql但卻找不到關于如何做到這一點的明確例子。
查看完整描述

3 回答

?
米琪卡哇伊

TA貢獻1998條經驗 獲得超6個贊

如果您有輸出參數,您可以這樣做。


DECLARE @retval int   

DECLARE @sSQL nvarchar(500);

DECLARE @ParmDefinition nvarchar(500);


DECLARE @tablename nvarchar(50)  

SELECT @tablename = N'products'  


SELECT @sSQL = N'SELECT @retvalOUT = MAX(ID) FROM ' + @tablename;  

SET @ParmDefinition = N'@retvalOUT int OUTPUT';


EXEC sp_executesql @sSQL, @ParmDefinition, @retvalOUT=@retval OUTPUT;


SELECT @retval;

但如果您不修改,并且不能修改SP:


-- Assuming that your SP return 1 value

create table #temptable (ID int null)

insert into #temptable exec mysp 'Value1', 'Value2'

select * from #temptable

不漂亮,但很管用。




查看完整回答
反對 回復 2019-07-26
?
浮云間

TA貢獻1829條經驗 獲得超4個贊

DECLARE @tab AS TABLE (col VARCHAR(10), colu2 varchar(10)) 
  INSERT into @tab EXECUTE  sp_executesql N'SELECT 1 as col1, 2 as col2 union all SELECT 1 as col1, 2 as col2 union all SELECT 1 as col1,
   2 as col2'

  SELECT * FROM @tab


 


查看完整回答
反對 回復 2019-07-26
?
慕妹3146593

TA貢獻1820條經驗 獲得超9個贊

DECLARE @vi INTDECLARE @vQuery NVARCHAR(1000)SET @vQuery = N'SELECT @vi= COUNT(*) FROM <TableName>'EXEC SP_EXECUTESQL 
        @Query  = @vQuery      , @Params = N'@vi INT OUTPUT'
      , @vi = @vi OUTPUTSELECT @vi



查看完整回答
反對 回復 2019-07-26
  • 3 回答
  • 0 關注
  • 296 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號