毎晩サーバー状態情報を記録する1つのテーブルがあります。そのテーブルを、別のテーブルに保存されているエンタープライズ内のすべてのサーバーの一覧で参照し、そのサーバー名のエントリが最後の数時間内にMaintテーブルに含まれていないかどうかを確認するクエリが実行されます。その部分はうまくいく。レコードのエントリが存在するかどうかに基づいて列を更新します。
Lookup table: --------------- serverID serverName isActive Maintenance Table: -------------- ServerID ServerName LastAttemptedDateTimeStamp --This part is working fine.
ここに私が追加したい機能があります。私は毎日テーブルを更新し(すべての古い情報を上書きする)、ルックアップテーブルのすべてのエントリのレコードを持っています。最後の24時間のMaintテーブルにルックアップテーブル内のサーバのエントリが存在する場合は、その行にSUCCESSビット(1)を入れてLastAttemptedDateTimeとLastSuccDateTimeUpdateを更新します。そのテーブルのエントリが存在しない場合
は、その後、(0)FAILEDビットを入れて、これを行うことができますどのようにLastSuccDateTimeUpdate
Reporting Table: ---------------- -LastAttemptedDateTime -LastSuccDateTimeUpdate -WasSuccessfull (bit) 0 or 1
を更新しませんか?
何か試しましたか? – JNK
私はSQL Serverが 'WasSuccessfull'の部分を把握するためのIF/THENのalertnativeとしてCASEを探しています。 IFまたはCASE datetimeが24時間以上経過している場合は、成功するために0を設定します。日時が24時間未満の場合は、成功のために1を入力します。論理をどうやって行うのかは分かりません。 – Alex
現在の情報では解決できません。ルックアップテーブルに少なくとも1つの日付スタンプがありません.2つのレポートテーブルがあるようです。 2つのテーブルを説明し、いくつかのテストデータを入力して解決してください。また、テストデータのための望ましい出力を記述してください –