別のストアド プロシージャから非同期的にストアド プロシージャを呼び出すことは可能ですか?
編集:具体的には、DB2 データベースを使用しています。
別のストアド プロシージャから非同期的にストアド プロシージャを呼び出すことは可能ですか?
編集:具体的には、DB2 データベースを使用しています。
エグゼクティブサマリー:はい、データベースにメッセージキューサービスがある場合。
メッセージをキューにプッシュすると、キュープロセッサはそれを非同期的に消費します。
「純粋な」ストアドプロシージャ言語(PL / SqlまたはT-Sql)の場合、ほとんどのデータベースが持つ基本的なトランザクションモデルに対して機能するため、答えはノーです。
ただし、データベースにキューイングメカニズムがある場合は、それを使用して同じ結果を得ることができます。
MS Sql Server 2005では、ServiceBrokerやCLRストアドプロシージャを試してください。TSQLに直接組み込まれているものはないと思います。
Cron(またはWindowsと同等のもの)を使用して、スケジュールされたジョブをいくつか配置する必要があるようです。最初のストアドプロシージャ呼び出しを使用して、DBにある種のフラグを設定し、それをcronジョブによって定期的にチェックすることができます。2番目のジョブが実行される前に特定の遅延が必要な場合は、cronジョブによってタスクをスケジュールすることでそれを実行できるはずです。