Oto mój scenariusz:
Powiedzmy, że mam procedurę składowaną, w której muszę wywołać inną procedurę składowaną na zestawie określonych identyfikatorów; czy jest na to sposób?
tj. zamiast tego robić:
exec p_MyInnerProcedure 4
exec p_MyInnerProcedure 7
exec p_MyInnerProcedure 12
exec p_MyInnerProcedure 22
exec p_MyInnerProcedure 19
Robię coś takiego:
*magic where I specify my list contains 4,7,12,22,19*
DECLARE my_cursor CURSOR FAST_FORWARD FOR
*magic select*
OPEN my_cursor
FETCH NEXT FROM my_cursor INTO @MyId
WHILE @@FETCH_STATUS = 0
BEGIN
exec p_MyInnerProcedure @MyId
FETCH NEXT FROM my_cursor INTO @MyId
END
Moim głównym celem jest tutaj po prostu łatwość utrzymania (łatwe do usunięcia / dodania identyfikatorów, gdy zmienia się biznes), możliwość wyszczególnienia wszystkich identyfikatorów w jednym wierszu ... Wydajność nie powinna być tak dużym problemem