摘要: MSSQL为我们提供了两种动态执行sql语句的命令:EXEC 和 SP_EXECUTESQL.通常SP_EXECUTESQL更具优势,因为它提供了输入输出的接口,且能够重用执行计划,大大提高执行效率,而且不会导致SQL注入,比较安全,这些优势都是EXEC所不具有的,EXEC通常用来执行存储过程.所以,除非有充分的理由,否则在执行动态SQL的时候尽量使用SP_EXECUTESQL. 用法举例: -----------EXEC: DECLARE @TableName VARCHAR(50),…