sql >> データベース >  >> RDS >> Sqlserver

SQL トリガーは Web サービスを呼び出すことができますか?

    技術的にはできたとしても、それは本当に良い考えではありません。トリガーは非常に無駄のないものにする必要があり、時間のかかる操作 (Web サービスの呼び出しは間違いなくそうです) を伴うべきではありません。アーキテクチャを再考してください - これを行うためのより良い方法があるはずです!

    トリガーで Web サービスを呼び出す必要があることを「認識する」タスクを、その Web サービス呼び出しの実際の実行から分離することをお勧めします。

    次のようなもの:

    <オール> <リ>

    トリガー コードで、「後で Web サービスを呼び出す」をテーブルに挿入します (INSERT のみ)。 スリムで高速に保つ - それだけです)

    <リ>

    実際のトリガーの実行とは別にこれらの呼び出しを行い、その Web サービスから取得したデータをデータベースの適切なテーブルに格納する非同期サービス (SQL ジョブ、またはできれば Windows NT サービス) を用意します。

    トリガーは非常に気難しいものです - 常に非常に速く、非常に無駄のないものでなければなりません - INSERT を実行してください または多くても 2 つ - トリガー内のカーソルやその他の時間のかかる操作 (Web サービス呼び出しなど) は絶対に避けてください。

    Brent Ozar は、スケールしない開発者の過ちトップ 10 トリガーは、彼が最初に焦点を当てるものです!強くお勧めします



    1. 'as'キーワードを使用しても列が存在しないというエラー

    2. liferayはデータをhsqlからmysqlに移行します

    3. OracleSQLでの日付の比較

    4. 現在秒単位の列を時間単位で表示しますか?