My procedure returning nothing when pass where clause condition as parameter. Below is the example query and I am passing @strWhereClauseField
& @strWhereClauseValue
as a parameter. It works fine when I convert my query in string and execute it. But I don't want to use query string because order by is not working in query string.
DECLARE @Data TABLE
(
Id int identity(1,1), Product varchar(10)
)
INSERT @Data VALUES ('HP2030'), ('HP2031'), ('HP2032'), ('HP2033');
DECLARE @strWhereClauseField NVARCHAR(1000) = '1'
DECLARE @strWhereClauseValue NVARCHAR(1000) = '1'
SET @strWhereClauseField = '@Data.Product'
SET @strWhereClauseValue = '''HP2030'''
SELECT *
FROM @Data
WHERE @strWhereClauseField = @strWhereClauseValue