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


