Мне нужна помощь в создании хранимой процедуры в SQL Server.
это мой код
CREATE PROCEDURE [dbo].[PROC_TABLE_ELEMENTS]
@id nvarchar(max)
AS
DECLARE @sql varchar(max) = '', @col_list varchar(max) = ''
SET @col_list = (SELECT DISTINCT QOUTENAME(columnName) + ','
FROM VW_FORM_ELEMENTS_DATA
FOR XML PATH(''))
SET @col_list = LEFT(@col_list, LEN(@col_list) - 1)
SET @sql = N'SELECT [newId], [modifiedDate], [modifiedBy], [modifiedBy]' + @col_list +
' FROM (SELECT newId, value, columnName, modifiedDate, modifiedBy
FROM VW_FORM_ELEMENTS_DATA
WHERE newId = @id) a
PIVOT
(MAX([value]) FOR [columnName] IN (' + @col_list + ')) pv'
EXEC (@sql)
Я получаю эту ошибку:
Необходимо объявить скалярную переменную @id.
@id
в качестве параметра вexecute
. В противном случае значение недоступно для динамического SQL. - person HABO   schedule 30.01.2021