Versuch, meine Fragen zu verallgemeinern ... Ich möchte eine gespeicherte Prozedur für jedes Ergebnis ausführen, das von einer SELECT-Anweisung zurückgegeben wird.SQL über eine Liste iterieren, um EXEC für jedes Element aufzurufen
Psychisch Ich möchte so etwas wie EXEC myStoredProc (SELECT id FROM sometable WHERE cond = @param), um versuchen
Mehr Details zu meinem speziellen Fall im Zusammenhang ... ich eine SaaS-Anwendung hat. Ich möchte einen Mandanten aus dem System löschen. Bevor ich den Mandanten löschen kann, muss ich alle Datensätze in der Datenbank löschen, die diesem Mandanten zugeordnet sind.
Mieter besitzen Elemente wie Formulare, die viele verschiedene Arten von Feldern enthalten. Ich habe bereits eine gespeicherte Prozedur, die ein Formular und alle zugehörigen Elemente (wie Felder) löscht. Aus Gründen der Wartung (ich wollte nicht die Logik duplizieren, die Dependenzen und Assoziationen zwischen Datensätzen und einem Formular bestimmt) möchte ich das StoredProc für jedes Formular aufrufen, das zu einem Mandanten gehört.
kann ich die Liste der Formulare abrufen, indem Sie eine Abfrage ausgeführt wird, wie ... Wählen formid aus Formularen WHERE Mieter = @TenantId
Was will ich mit dem Ergebnis dieser Abfrage tun EXEC ist mein Delete_Form Stored Procedure .
Wie kann ich das tun?
Welche RDBMS verwenden Sie? –
Microsoft SQL Server 2008 – Justin