У меня есть требование, чтобы входной параметр, который передается в SP, имел тип numeric (18,6).И этот параметр передается динамическому SQL-запросу (тип varchar), и результат будет сохранен во временной таблице.Во временной таблице я определил вышеупомянутый тип столбца только как числовой.но при выполнении SP я получаю сообщение об «ошибке преобразования типа данных varchar в числовой».Есть ли ограничения в использовании динамического Sql?Кто-то Пожалуйста, помогите мне в этом.
пример запроса:
-------------
Input Parameter: @DataItem numeric(18,6) = ABC054356 (column name)
CREATE TABLE #Temp1(RowNum int,
CompanyID int,
ABCColumn numeric(18,2),
FiscalYear varchar(100))
DECLARE @QUERY varchar(max)
SET @QUERY = N'select row_number() over (partition by fy.keyinstn order by fy.fiscalyear desc) as RowNum, fy.Keyinstn, '
+ Convert(@DataItem as numeric(18,2)))+
', period.fiscalyear from ABCTable
................
................
INSERT into #Mnemonic
EXEC(@query)