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

階層値を自動的に生成する

    両方の質問に答えるには、別のアプローチがあります。データベースに不必要なオーバーヘッドが追加されるため、私は通常、最後の選択肢になるまでトリガーの使用を避けます。

    トリガーとストアド プロシージャの比較

    • データベース内のテーブルの関係、制約、インデックス、ストアド プロシージャを表示するのは簡単ですが、トリガーは表示するのが困難です。
    • トリガーは、クライアント アプリケーション アプリケーションからは見えずに実行されます。これらは表示されないか、デバッグ コードで追跡できます。
    • トリガーのことは忘れがちです。ドキュメントがないと、新しい開発者がトリガーの存在を理解するのが難しくなります。
    • データベース フィールドが更新されるたびにトリガーが実行され、システムのオーバーヘッドが発生します。システムの実行が遅くなります。

    これが、私がストアド プロシージャを好む理由です。エージェント経由でジョブ ファイルを作成できます (例:30 分ごと、またはその他の時間ごとに実行)。そのジョブ ファイルに挿入するためのロジックを使用できます。このようにして tree table のデータを ほぼリアルタイムです。

    エージェントを作成するための参照:
    http://msdn.microsoft.com/en-us/library/ms191128(v=sql.90).aspx
    http://msdn. microsoft.com/en-us/library/ms181153(v=sql.105).aspx



    1. 同時失敗後に電子メールを受信するための最良の方法(sql-トリガー-アプリケーション)

    2. Jboss での DBMS_APPLICATION_INFO の使用

    3. ビューに対するすべての特権を任意のユーザーに付与する方法

    4. テーブルからランダムな単語を選択する