Hier ist mein Szenario:
Angenommen, ich habe eine gespeicherte Prozedur, in der ich eine andere gespeicherte Prozedur für eine Reihe bestimmter IDs aufrufen muss. Gibt es eine Möglichkeit, dies zu tun?
dh anstatt dies tun zu müssen:
exec p_MyInnerProcedure 4
exec p_MyInnerProcedure 7
exec p_MyInnerProcedure 12
exec p_MyInnerProcedure 22
exec p_MyInnerProcedure 19
So etwas machen:
*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
Mein Hauptziel hier ist einfach die Wartbarkeit (einfach zu entfernen / IDs hinzuzufügen, wenn sich das Geschäft ändert), in der Lage zu sein, alle IDs in einer einzigen Zeile aufzulisten ... Die Leistung sollte kein so großes Problem sein