动态SQL是指在运行时构建和执行SQL语句的过程。在SQL Server中,执行动态SQL时需要注意一些安全性和性能方面的问题。本文将介绍两种正确执行动态SQL的方式,并提供相应的源代码示例。
方式一:参数化查询
参数化查询是一种通过将查询参数与查询语句分离的方式来执行动态SQL的方法。这种方式可以防止SQL注入攻击,并提高查询性能。下面是一个示例:
-- 创建存储过程
CREATE PROCEDURE GetCustomer
@customerId INT
AS
BEGIN
-- 构建动态SQL语句
DECLARE @sql NVARCHAR(MAX