Моя процедура ничего не возвращает, когда передается условие условия в качестве параметра. Ниже приведен пример запроса, и я прохожу @strWhereClauseField
& @strWhereClauseValue
в качестве параметра. Он отлично работает, когда я конвертирую свой запрос в строку и выполняю его. Но я не хочу использовать строку запроса, потому что порядок не работает в строке запроса.Процедура, возвращающая нулевые строки при передаче where в качестве параметра
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
ценят ваш ответ, но я не могу использовать строку запроса, потому что порядок не работает в строке запроса, а мой исходный запрос усечен из-за его длины. – user1891251
@ user1891251 'ORDER BY' отлично работает, если вы включили его в строку. И точно, как долго ваш запрос, чтобы он не вписывался в 'varchar (max)'? –
Длина 5000, но может варьироваться в зависимости от параметров – user1891251