2009-03-17 7 views
2

ist Folgendes möglich:Stored Procedure Wählen Sie als Argument

EXEC sp_Edu3_DeleteTreeStructure (SELECT TreeStructureId FROM TreeStructures)

Die SP normalerweise nimmt ein Argument. Ich möchte, dass der SP für jede TreeStructureId ausgeführt wird, die von der Query gefunden wird.

thx, Lieven Cardoen

Antwort

2

können Sie einen Cursor verwenden, um dies zu tun.

+0

Thx, Robin, ich wusste, dass ich es mit einem Cursor machen könnte, aber ich fragte mich, ob es ohne einen Cursor gemacht werden könnte. (Ich denke nicht, dass es getan werden kann ...) –

+0

Sie könnten Ihre SELECT-Anweisung ändern, um XML zurückzugeben, das alle IDs enthält, und dann Ihren Stored Proc so ändern, dass er dieses XML als Parameter akzeptiert und mit 1-many-IDs arbeitet. Sie haben jedoch Recht, eine gespeicherte Prozedur kann nicht wie Sie fragen. Eine Funktion ist näher, kann die Daten jedoch nicht löschen. –