我試圖設置變量,其名稱是在存儲過程中動態:SQL:動態變量名
DECLARE @var01 varchar(50)
DECLARE @var02 varchar(50)
...
DECLARE @var30 varchar(50)
DECLARE @sql = varchar(max)
DECLARE @loopcnter INT
-- (Inside some loop where the loopcounter increments each iteration)
...
SET @sql = 'SET @var0'+CAST(@loopcntr AS Varchar)+'= '''+'somevalue'+''''
-- e.g.) SET @var01= 'somevale'
EXEC (@sql)
這並不工作,因爲變量聲明在不同範圍的動態SQL 。
以這種方式動態設置變量的正確方法是什麼?
你爲什麼需要名稱是動態的?你試圖解決的更大的問題是什麼? –
你想達到什麼目的?事實上,動態SQL有它自己的範圍 – jazzytomato
您是否嘗試過使用'@@'變量? – Kermit