haiko
Bekanntes Mitglied
wie kann man die ausführung einer gespeicherten prozedur "loopen", also mehrfach hintereinander mit unterschiedlichen werten ausführen in einer sql-anweisung?
zur erklärung:
ich habe eine gespeicherte prozedur, die irgdnewelche daten ändert. die prozedur braucht als parameter eine id. der aufruf ist also in etwa so "exec gespeicherte_prozedur id". das funktioniert auch problemlos.
das problem ist jetzt, daß ich mehrere ids habe, bei denen ich die prozedur ausführen will. diese ids kommen von einer einfachen sql-abfrage: "select id from tabelle where irgendwas=true".
wie schaffe ich es jetzt im sql, die gespeicherte prozedur für jede id aus dem select aufzurufen?
exec gespeicherte_prozedur loop(select id from tabelle where irgendwas=true) funktioniert leider nicht.
bei php würd ich das mit "while (($row = mssql_fetch_array($result, MSSQL_BOTH))) ...." machen. leider gibts sowas ja leider nicht im sql.
zur erklärung:
ich habe eine gespeicherte prozedur, die irgdnewelche daten ändert. die prozedur braucht als parameter eine id. der aufruf ist also in etwa so "exec gespeicherte_prozedur id". das funktioniert auch problemlos.
das problem ist jetzt, daß ich mehrere ids habe, bei denen ich die prozedur ausführen will. diese ids kommen von einer einfachen sql-abfrage: "select id from tabelle where irgendwas=true".
wie schaffe ich es jetzt im sql, die gespeicherte prozedur für jede id aus dem select aufzurufen?
exec gespeicherte_prozedur loop(select id from tabelle where irgendwas=true) funktioniert leider nicht.
bei php würd ich das mit "while (($row = mssql_fetch_array($result, MSSQL_BOTH))) ...." machen. leider gibts sowas ja leider nicht im sql.