在 SQL 中,可以使用動態 SQL 來執行動態查詢
以下是一個使用動態 SQL 的示例:
-- 假設有一個名為 products 的表,包含以下列:id, name, price
-- 定義變量
DECLARE @columnName NVARCHAR(50) = 'name';
DECLARE @searchKeyword NVARCHAR(50) = 'iPhone';
-- 創建動態 SQL 查詢字符串
DECLARE @sql NVARCHAR(MAX) = 'SELECT * FROM products WHERE ' + @columnName + ' LIKE ''%' + @searchKeyword + '%''';
-- 執行動態 SQL 查詢
EXEC sp_executesql @sql;
在這個示例中,我們首先定義了兩個變量 @columnName
和 @searchKeyword
,分別表示要搜索的列名和關鍵字。然后,我們創建了一個動態 SQL 查詢字符串 @sql
,其中包含要執行的 SELECT 語句。最后,我們使用 sp_executesql
存儲過程執行動態 SQL 查詢。
請注意,動態 SQL 可能會導致 SQL 注入攻擊,因此在使用動態 SQL 時要確保對輸入進行適當的驗證和轉義。