Я новичок в хранимых процедурах. Как я могу определить переменную для использования в запросе SQL? вот мой код, но когда я запускаю эту хранимую процедуру, я получаю эту ошибку:
Выражение не булева типа, указанное в контексте, где
ожидается состояние, около 'или'.
это мой код:
declare @sql nvarchar(MAX)
Declare @availabilityStatus nvarchar(MAX)
BEGIN
IF @Availability = 1
set @availabilityStatus = '0 or 1 or 2'
ELSE
set @availabilityStatus = '1'
set @sql =
'SELECT Distinct P.ProductId, P.BrandId, P.[' + @OrderIndex + '] FROM Products P INNER JOIN ProductStores PS ON P.ProductId = PS.ProductId ' +
'Where PS.StoreId = @StoreId and (PS.Status = ' + @availabilityStatus + 'or PS.AvailabilityRank < '
эта @Availability
переменная является входом, который я определил в начале хранимой процедуры.