SQL Server 2008 の次のストアド プロシージャは、エラーをスローしていました。
/****** Object: StoredProcedure [dbo].[UpdateCPA] ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
ALTER PROCEDURE [dbo].[pdateCPA_INT]
@CPAColumn_Name nvarchar(100), @value Int, @RecordNum nvarchar(100)
AS
BEGIN
SET NOCOUNT ON;
--declare @CPAColumn_Name nvarchar(100) = 'UsrsID'
--declare @value Int = 3575
--declare @RecordNum int = 1
declare @thedate smalldatetime
set @thedate = GETDATE()
--select @thedate as NOW
declare @cmd nvarchar(max)
set @cmd = 'Update tblTimeCPAReport
set ' + @CPAColumn_Name + ' = '+@value+'
set ReportLastUpdate = ' + @thedate + '
where RecordNum='+@RecordNum
exec sp_executesql @cmd
select @cmd
END
このエラーをスローしています
nvarchar 値 'Update tblTimeCPAReport set UsrsID = ' をデータ型 int に変換するときに変換に失敗しました。