簡體   English   中英

從@random_table SQL Server 2008 R2中選擇

[英]SELECT FROM @random_table SQL Server 2008 R2

我的以下代碼有問題:

DECLARE @table varchar(50), @value int 
SET @table = 'randomTable'

EXEC('SELECT @value = exercicio FROM '+@table+' WHERE cod = 2')

我需要在一些隨機表中執行上述幾項操作。 我想選擇一個值並存儲在先前聲明的變量中。 但是,當我嘗試執行該代碼時,收到以下消息:

必須聲明標量變量“ @value”。

我沒主意了。 有什么建議么?

@value變量不在動態SQL語句的范圍內。 您需要將值作為輸出參數返回:

DECLARE 
      @table nvarchar(251) = N'dbo.randomTable'
    , @SQL nvarchar(MAX) 
    , @value int;
SET @SQL = N'SELECT @value = exercicio FROM '+@table+N' WHERE cod=2';
EXEC sp_executesql @SQL, N'@value int OUTPUT', @value OUT;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM