在 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 时要确保对输入进行适当的验证和转义。