Вызов одного хранимого процесса из другого - проблема с синтаксисом - PullRequest
0 голосов
/ 27 января 2012

У меня есть сохраненный процесс, который выполняет некоторые соединения и т. Д. Чтобы вернуть определенное значение для поля в returnset, у меня есть другой сохраненный процесс, который я вызываю. Однако один из параметров должен быть вычисленным значением, возвращаемым для другого поля в исходном наборе результатов (если это имеет смысл), например,

SELECT @S = (CONVERT (NVARCHAR (50), DateDiff(minute, CONVERT (CHAR (24), [PI9_StartDT],
108), CONVERT (CHAR (24), [PI9_EndDT], 108)) / 60)) + ' ' + 'Hrs' + ' ' +
SUBSTRING(CONVERT (NVARCHAR (50), (DateDiff(minute, CONVERT (CHAR (24), [PI9_StartDT],
108), CONVERT (CHAR (24), [PI9_EndDT], 108)))), CHARINDEX('.', CONVERT (NVARCHAR (50),
(DateDiff(minute, CONVERT (CHAR (24), [PI9_StartDT], 108), CONVERT (CHAR (24), 
[PI9_EndDT], 108)) / 60)), 2), 3) + ' ' + 'mins'

exec @OUT = [MUJV].[FailPassPI9] GarrisonName, @S, SCPCategory, @S

Мне нужно передать это вычисленное значение в качестве сохраненного параметра proc, как указано выше.

Однако это не работает. То, что я пытаюсь сделать, это включить @S (эта сумма используется для возврата поля в наборе результатов) в качестве параметра для моего хранимого процесса. Как видите, это довольно сложно.

Что я могу сделать, чтобы достичь этого?

1 Ответ

0 голосов
/ 27 января 2012

Кажется, вы получаете неправильный результат в вашей переменной. Вот 2 примера, которые вы можете рассмотреть для лучшей производительности и читабельности:

DECLARE @PI9_StartDT datetime = getdate()
DECLARE @s varchar(max)
SELECT @S = cast(datepart(hh, @PI9_StartDT) as varchar(2)) + ' Hrs ' +
            cast(datepart(mi, @PI9_StartDT) as varchar(2)) + ' mins'

SELECT @s = stuff(convert(varchar(5), getdate(), 108), 3, 1, ' hrs ') + ' mins'

Я не буду пытаться угадать, почему и как ваш скрипт не работает, я не могу основываться на текущей информации.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...