sql - 'sp_executesql' 附近的语法不正确

标签 sql sql-server-2005 tsql dynamic-sql

我不明白为什么以下给我错误。我认为这与注释掉的部分有关,但@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

最佳答案

这就是为什么:

-- 这很好用:
开始
-- 在 sp_executesql 之前必须有一个 exec 否则它将无法在块中工作
exec sp_executesql N'SELECT ''td'''
结尾


你不能在没有 的情况下调用存储过程执行 当你在一个街区时。

关于sql - 'sp_executesql' 附近的语法不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1297007/

相关文章:

sql - 如何使用pl/sql查找连续序列

sql - VBA Excel - 通过 ADO 的 SQL 查询返回无限的空记录集

sql-server - 获取数据库中所有表的大小

sql - NULL 上的不等于 <> != 运算符

sql - 首次 ID 出现的指示

mysql - 一个查询从其他表值删除表行

sql - 为什么我不能对包含聚合的表达式执行聚合函数,但可以通过围绕它创建新的 select 语句来执行聚合函数?

PHP - SQL Server 2005 express 到 2008 标准问题

sql - 按年和月选择总计数()组?

sql-server - 如何从字符串中删除所有空格?