SQLServiceBrokerを使用しています。別のプロセスがアイテムを追加しているキューがあります。アイテムがキューに追加されるたびにストアドプロシージャを実行したい。プロシージャはキューから最上位のアイテムを受け取り、ストアドプロシージャ内でその情報を使用します。このようなことをするための正しい構文は何ですか?通常のSQLトリガーを使用しますか、それともService Brokerキューを操作するときに使用する特別なものがありますか?
質問する
3285 次
1 に答える
3
トリガーされたストアード・プロシージャーは、キュー定義の一部として指定できます。CREATE QUEUE
-具体的にはACTIVATION
条項のドキュメントを参照してください。
ドキュメントからの例:
次の例では、メッセージの受信に使用できるキューを作成します。メッセージがキューに入ると、キューはストアドプロシージャexpense_procedureを開始します。ストアドプロシージャは、ユーザーExpenseUserとして実行されます。キューは、ストアード・プロシージャーの最大5つのインスタンスを開始します。
CREATE QUEUE ExpenseQueue WITH STATUS=ON, ACTIVATION ( PROCEDURE_NAME = expense_procedure, MAX_QUEUE_READERS = 5, EXECUTE AS 'ExpenseUser' ) ;
于 2012-04-16T20:24:44.920 に答える