0
將存儲過程中的參數值與SQL注入安全的SQL注入串聯起來?使用通配符連接存儲過程中的安全參數?
我有一個存儲過程,允許用戶做包含在一個表中的列給定值的記錄搜索:
CREATE PROC sp_Search
@SearchValue NVARCHAR(255)
AS
BEGIN
SELECT * FROM TableA WHERE ColumnA LIKE '%' + @SearchValue + '%' OR ColumnB LIKE '%' + @SearchValue + '%'
END
是的。你只是比較一個值。問題是當你嘗試創建一個動態SQL。 –
雖然我會推薦兩件事。不要添加sp_前綴。選擇一個不同的前綴或完全放棄它們(我的偏好)。 http://sqlperformance.com/2012/10/t-sql-queries/sp_prefix第二件事是你有一個引領你的查詢nonSARGable的通配符,沒有索引量會幫助性能。如果完全有可能避免引導通配符,你應該。 –
另一個問題是TableA有多大,以及您如何嘗試搜索,請記住'%term%'不是[SARG-able](https://en.wikipedia.org/wiki/Sargable)。 – lad2025