У меня динамический sql в хранимой процедуре:
DECLARE @sql nvarchar(1000)
SET @sql = 'UPDATE dbo.T_CUS_TSK_TASK '+
'SET ' + QUOTENAME(@task_field_name) + '=@value ' +
'WHERE company_id=@company_id AND task_id=@task_id'
print(@sql)
EXEC sp_executesql
@sql,
N'@company_id uniqueidentifier, @task_id bigint, @value nvarchar(50)',
@company_id, @task_id, @value
проблема в том, что я не знаю, является ли поле, представленное @task_field_name, bigint или nvarchar, поэтому я получаю ошибку преобразования:
Error converting data type nvarchar to bigint.
Как я могу предотвратить ошибку?