DECLARE @Final nvarchar(1000) -- Separate partial and final
DECLARE @Partial nvarchar(100) -- let's you maintain and debug better
SET @Final = 'select * from hotel
join tbl_cust_info
on hotel.agentID=Tbl_Cust_Info.Cust_ID
where' + @Partial
Предполагается, что вы вызываете это через .NET, запускаете регулярное выражение для текста, чтобы исключить все символы, которые не являются буквами или пробелами. Как [! @ # $% ^ & * ()?;: '"\ |].
Рассмотрите возможность перезаписи как 5 строк (HotelsByCountry, HotelsByState, HotelsByCity, HotelsByName, HotelsByRating). Это повысит производительность и позволит выполнять заказы и подкачку страниц (например, Row_number () OVER (order by StartDate)). Это также сделает их абсолютно безопасными.