All
I have next stored procedure which errors in Conversion failed when converting the varchar value to data type int.
If I change the WHERE-clause to
WHERE dbo.SYSTEM_Serienummers.SN = ''' + @SN + ''' AND ' + @Field + ' IS NOT NULL and dbo.SYSTEM_Serienummers.Reparatienummer < 4
it works. So why doesn't it work if I try to retrieve records where the value is lower than my variable?
ALTER Procedure [dbo].[GetPreviousValueOf]
(
@Field VARCHAR(50),
@SN VARCHAR(50),
@Reparatienummer int
)
AS
BEGIN
DECLARE @sql nvarchar(1000)
SET @sql = 'SELECT TOP (1) dbo.SYSTEM_Serienummers.SN, dbo.SYSTEM_Serienummers.Reparatienummer, ' + @Field + ' as [output]
FROM dbo.SYSTEM_Serienummers INNER JOIN
dbo.METINGEN ON dbo.SYSTEM_Serienummers.ID = dbo.METINGEN.SerienummerID
WHERE dbo.SYSTEM_Serienummers.SN = ''' + @SN + ''' AND ' + @Field + ' IS NOT NULL and dbo.SYSTEM_Serienummers.Reparatienummer < ' + @Reparatienummer + '
order by dbo.SYSTEM_Serienummers.Reparatienummer desc'
--SELECT @sql
exec (@sql)
END