SQL Query表现得很奇怪

时间:2015-09-21 18:42:25

标签: sql sql-server stored-procedures

在sql下面的查询给出了奇怪的结果。请帮助我理解它为什么会发生。

exec sp_executesql N'SP_MNP_DownLoadFiles @FileTypeId,@UserId',N'@FileTypeId smallint,@UserId bigint',@FileTypeId=2,@UserId=18 -- This query returns nothing

Exec SP_MNP_DownLoadFiles @FileTypeId=2,@UserId=18 -- This query returns some result

Select Type as FileTypeId ,FileStream as Attachment FROM MNPFiles
        where CustomerId = 18
        AND
        Type = 2 -- This is the query inside SP.

请考虑各处的数据类型相同。

我在这里做错了什么?

1 个答案:

答案 0 :(得分:2)

您的动态SQL字符串与您的非动态语句不匹配。

exec sp_executesql N'EXEC SP_MNP_DownLoadFiles ...',...
                     ^^^^

其他要检查的事项:

  1. 主存储过程之前的其他SELECT个。您可能需要SET NOCOUNT ON
  2. 您在主查询之前没有RETURN某些内容