質問を一般化しようとしています... SELECT ステートメントによって返される各結果に対してストアド プロシージャを実行したいと考えています。
精神的には、EXEC myStoredProc (SELECT id FROM sometable WHERE cond = @param) のようなものを試してみたい
私の特定のケースに関連する詳細... 私は SaaS アプリケーションを持っています。システムからテナントを削除したいと考えています。テナントを削除する前に、そのテナントに関連付けられているデータベース内のすべてのレコードを削除する必要があります。
テナントは、さまざまな種類のフィールドを含むフォームなどのアイテムを所有しています。フォームとそれに関連するすべての項目 (フィールドなど) を削除するストアド プロシージャが既にあります。メンテナンス上の理由から (つまり、レコードとフォーム間の依存関係と関連付けを決定するロジックを複製したくない)、テナントに属するフォームごとにその StoredProc を呼び出したいと思います。
次のようなクエリを実行して、フォームのリストを取得できます... Select formId FROM Forms WHERE Tenant = @TenantId
そのクエリの結果でやりたいことは、EXEC my Delete_Form ストアド プロシージャです。
これどうやってするの?