質問

非同期で別のストアドプロシージャからストアドプロシージャを呼び出すことは可能ですか?

編集:具体的には、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ジョブによってタスクをスケジュールすることにより、それを行うことができるはずです。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top