‘sp_executesql’附近的语法不正确

前端之家收集整理的这篇文章主要介绍了‘sp_executesql’附近的语法不正确前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我不明白为什么以下是给我错误的.我认为它与注释掉的部分有关,但@sql是nvarchar(4000).
BEGIN
  sp_executesql N'SELECT ''td'''
  --sp_executesql @sql,N'@StartDate DateTime,@EndDate DateTime,@End2 DateTime,@Program varchar(4)',@StartDate,@EndDate,@End2,@Program
END

解决方法

这就是为什么:
-- This works just fine:
BEGIN
  -- You must have an exec before your sp_executesql or it will not work in a block
  exec sp_executesql N'SELECT ''td'''
END

当你在一个区块中时,你不能只在没有exec的情况下调用存储过程.

猜你在找的MsSQL相关文章