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