Dynamic SQL Not Converting VARCHAR To INT (shouldn't anyway)

后端 未结 2 1954
天涯浪人
天涯浪人 2020-12-12 00:43

I\'m receiving an error:

Conversion failed when converting the varchar value \'INSERT INTO TableRowCount (IntFieldID, DecimalField) SELECT \'to data t

2条回答
  •  温柔的废话
    2020-12-12 01:21

    A better way than trying to concatenate an integer is to pass it in as a strongly-typed parameter:

    DECLARE @start INT = 1;
    
    DECLARE @sql NVARCHAR(MAX) = N'INSERT ...
      SELECT @start, COUNT(*) FROM ' + @conn;
    
    EXEC sp_executesql @sql, N'@start INT', @start;
    

提交回复
热议问题