Heim >Datenbank >MySQL-Tutorial >Wie kann ich T-SQL-Abfrageergebnisse durchlaufen und für jede Zeile eine gespeicherte Prozedur ausführen?
T-SQL-Schleife durch Abfrageergebnisse
Angenommen, Sie haben eine Abfrage, die eine Liste von IDs aus einer Tabelle abruft:
SELECT @id=table.id FROM table
Sie müssen dann für jede Zeile eine gespeicherte Prozedur ausführen und dabei die ID und eine weitere übergeben Wert:
EXEC stored_proc @varName=@id, @otherVarName='test'
In T-SQL können Sie dies mit einem CURSOR erreichen:
DECLARE @id INT DECLARE @name NVARCHAR(100) DECLARE @getid CURSOR SET @getid = CURSOR FOR SELECT table.id, table.name FROM table OPEN @getid FETCH NEXT FROM @getid INTO @id, @name WHILE @@FETCH_STATUS = 0 BEGIN EXEC stored_proc @varName=@id, @otherVarName='test', @varForName=@name FETCH NEXT FROM @getid INTO @id, @name END CLOSE @getid DEALLOCATE @getid
In diesem Skript:
Mit diesem Skript können Sie die Abfrageergebnisse durchlaufen und die gespeicherte Prozedur für jede Zeile ausführen, wobei die Variablennamen und -werte basierend auf den Daten in der Abfrage aktualisiert werden.
Das obige ist der detaillierte Inhalt vonWie kann ich T-SQL-Abfrageergebnisse durchlaufen und für jede Zeile eine gespeicherte Prozedur ausführen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!