存储过程转换错误

时间:2013-05-27 12:23:20

标签: sql stored-procedures

我想要更新数据的存储过程,并希望将一些varbinary转换为nvarchar

UPDATE [payterm].[dict_default_values]
SET    [default_value] = CAST(@value AS NVARCHAR(MAX))
      ,[descr] = CAST(@descr AS NVARCHAR(MAX))
      ,[grp] = @grp
WHERE  [code] = @code;
IF @@ROWCOUNT = 0
    INSERT INTO [payterm].[dict_default_values]
      ([code], [default_value], [descr], [grp])
    VALUES
      (@code, @value, @descr, @grp);

当我输入参数时出现错误:不允许从数据类型varchar到varbinary的隐式转换。使用CONVERT函数运行此查询

1 个答案:

答案 0 :(得分:1)

您还需要强制插入INSERT语句的VALUES部分。

在不知道变量/参数/列的数据类型的情况下,很难给出具体的答案。