У меня есть таблица, как показано ниже -Обновление колонки с выходом процедуры
Table1
Col1 Col2 Col3
1 a NULL
2 b NULL
3 c NULL
у меня есть процедура usp_calculateResult (Стлб1, Стлб2).
Теперь я хочу обновить Col3 с выходом процедуры usp_calculateResult. Например, если я хочу обновить Col3 со значением Col1, мы будем выполнять: UPDATE Table1 SET Col3 = Col1. Мне нужно заменить Col1 на выход процедуры.
Я использую SQL Server 2005. Пожалуйста, помогите.
Примечание: usp_calculateResult имеет два входных параметра и один выходной параметр. Я не могу опубликовать процедуру из-за проблемы с безопасностью.
[РЕДАКТИРОВАНИЕ: ADDED]
В соответствии с приведенной ниже дискуссии, я думаю, что я должен сделать функцию аналогична процедуре. Я не вижу других вариантов. Может кто-нибудь прокомментировать это?
Вам действительно нужно выполнить ваш sp для каждой строки ?. Звучит так, что вместо этого вы могли бы использовать вычисляемый столбец. Не можете ли вы запутать ваш sp и рассказать нам, что он делает ?, таким образом мы можем разработать решение на основе набора для этого – Lamak
Вместо использования параметра 'output', который вам нужно сохранить обратно в' Col3' в таблице , почему не может хранимая процедура просто установить значение для 'Col3'? –
Если вы переопределили свой SP как функцию, вы можете называть его как 'UPDATE Table1 SET Col3 = usp_calculateResult (Col1, Col2)', но я согласен, что может стать слишком дорого –