У меня проблема, когда я пытаюсь заменить следующий код другим решением. В настоящее время я использую курсор, но он работает медленно. Я понимаю, что итеративные решения могут быть выполнены только курсорами или циклами, но я пытаюсь найти подход на основе набора и исчерпать идеи. Я надеялся, что могу найти здесь какое-то вдохновение. Спасибо всем.Итериальное выполнение хранимой процедуры с основанием набора основано
--used to find a unique list of Some_ID
@Id1, @Id2, @Id3
DECLARE SomeCursor CURSOR FOR
SELECT SOME_ID FROM SomeTable
WHERE [email protected] AND [email protected] and [email protected]
OPEN SomeCursor
FETCH NEXT FROM SomeCursor INTO @SomeID
WHILE @@Fetch_Status = 0
BEGIN
Print @SomeID
--simply populates a single table with values pulled from
--other tables in the database based on the give parameters.
EXEC SP_PART1 @SomeID, @parameters...
print 'part 2 starting'
EXEC SP_PART2 @SomeID, @parameters...
FETCH NEXT FROM SomeCursor INTO @SomeID
print getdate()
END
CLOSE SomeCursor;
DEALLOCATE SomeCursor;
Не зная, на что 'EXEC SP_PART1' и' EXEC SP_PART2' ответить невозможно. –
обновленные комментарии для объяснения СП – user2009859