Почему sp_executesql не возвращает результаты, а прямой вызов SP? - PullRequest
3 голосов
/ 17 ноября 2011

Это сбивает с толку.Для этого объявления хранимой процедуры:

CREATE PROCEDURE dbo.JobGet
    @jobGuid uniqueidentifier = NULL, 

Эта строка возвращает результаты:

exec dbo.JobGet @jobGuid ='BDEA1E43-9EC7-42B0-A386-903FE1749FF7'

А эта не:

exec sp_executesql N'dbo.JobGet',N'@jobGuid uniqueidentifier',@jobGuid='BDEA1E43-9EC7-42B0-A386-903FE1749FF7'

Может кто-нибудь объяснить, почему

1 Ответ

3 голосов
/ 17 ноября 2011

Вам нужно добавить @jobGuid в качестве параметра при вызове SP. Без этого параметр будет иметь значение по умолчанию NULL.

exec sp_executesql N'dbo.JobGet @jobGuid',
                   N'@jobGuid uniqueidentifier',
                   @jobGuid='BDEA1E43-9EC7-42B0-A386-903FE1749FF7'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...