is it possible to change one by variable by executing another one?
My code now:
DECLARE
@CHOSENID VARCHAR(MAX),
@sql VARCHAR(MAX),
@COLUMNS VARCHAR(MAX)
SET @CHOSENID = '1032, 1132, 332, 1021'
SET @sql = ' select @COLUMNS = COALESCE(@COLUMNS + '' '', '''') + n.PRODUCT + '' BIGINT NOT NULL DEFAULT -1,''
from MYTABLE n where ID IN ('+@CHOSENID+') and TYPE=''X''
SET @COLUMNS = CONCAT(@COLUMNS, ''TIME DATETIME NOT NULL DEFAULT GETDATE() '')'
PRINT @sql
EXEC (@sql)
PRINT @COLUMNS
Error in result:
Must declare the scalar variable "@COLUMNS".
When I tried to declare @COLUMNS inside @sql query can be executed, but PRINT @COLUMNS does not return anything.
ID in MYTABLE is bigint and @CHOSENID is varchar, so I can't simply execute this without adding @sql