2014-01-22 23 views
0

我讀到關於構建動態SQL存儲過程的文章,這是真的good.That文章說:當我們需要檢索需要約束使用動態SQL的存儲過程

動態SQL一組基於不同的搜索記錄參數

所以,我認爲我們可以在每一個我們需要在不同的搜索中檢索某些記錄,並有使用動態SQL沒有限制項目中使用它。這是真的嗎?

+0

有一些優點和動態SQL的缺點,你應該避免使用它時,你可以,但有時動態sql是唯一的途徑,閱讀這個動作來了解更多關於動態sql的信息http://www.sommarskog.se/dynamic_sql.html –

回答

1

如果您無法使用參數,則應該將動態查詢作爲最後的手段。 這樣你就可以保護自己免受SQL注入。

你總是可以做一些參數可選,並使用這些WHERE子句中:

... 
WHERE (@Param1 IS NULL OR [email protected]) AND ... etc 
... 

這樣你,如果你設置@參數1爲NULL,則意味着不使用它。

另一種選擇可能是通過使用全文搜索,更多這方面的信息,您可以在這裏找到: http://technet.microsoft.com/en-us/library/ms142571.aspx