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