0

OSはUNIXです。テーブル内のデータが変更されたときに、シェル スクリプトを呼び出して外部検証を実行したいと考えています。それは可能ですか?

どうもありがとう。


更新:理想的には、個別の操作に対して外部スクリプトを1回呼び出したいと思います:つまり

  • 更新... >スクリプトを1回呼び出す
  • に挿入... >スクリプトを1回呼び出す
  • bcp into > スクリプトを 1 回呼び出す
4

1 に答える 1

1

トリガー内からxp_cmdshellを呼び出すことができると思います。


編集:コメントで述べたように、トリガーはデータ変更ステートメントごとに1回だけ起動します。(オンラインの本を参照してください。)したがって、100行に影響する更新ステートメントがある場合、トリガーは100回ではなく、1回だけ起動します。これで最初の2つのポイント(更新、挿入)が処理されます。

トリガーはbcpでは起動しません。しかし、bcpはコマンドラインから実行する必要があるため、すべてのbcpコマンドの後にシェルスクリプトを追加しない理由がわかりませんか?

トリガーからxp_cmdshellを呼び出す方法については、こちらをご覧ください。

いくつかのさらなるコメント:あなたはあなたの環境やあなたが達成しようとしていることを実際に説明していません。OLTP環境を使用している場合、テーブルに対して一度に複数の更新が発生した場合でも、シェルスクリプトが正常に機能することを確認する必要があります。3人のユーザーが同時に更新を行った場合、3人が同時に実行されていても、スクリプトは機能しますか?ある種のOLAPまたはバッチシステムの一部としてこれを実行している場合、シェルスクリプトをジョブフローに追加しない理由がわかりません。

于 2008-12-12T23:18:04.910 に答える