0

テーブルを作成する方法、または以下のようにトリガーする方法はありますか?

     Date        Data

   2/6/2013         2
   2/6/2013         1
   2/6/2013         3
   2/6/2013         1
   2/6/2013         0


上のテーブルは、下の次のテーブルの入力として交互に表示されますが、最後の入力のみが下のテーブルに表示されます。入力は2から0まで交互になります。入力が2-1-3--1-0から

始まると言うだけで、0のみがテーブルに表示されます。
トリガーを作成する方法は?0データのみで、一意のものではありません。最新の入力のみがテーブルに表示されます。データを取得するには、上部にあるトリガーされたテーブルの下のテーブルを覚えておいてください。
新しい入力が挿入されるたびに、既存のデータが削除され、新しい入力のみが表示されるようにしたいだけです。

  Data
    0
4

1 に答える 1

2

最新の値を表示するVIEWが必要だと思います。

以下は、ビューに使用するクエリです...

SELECT TOP 1 Data FROM Table ORDER BY Date DESC

編集あなたが望むことを正確に行うには、挿入するためのストアドプロシージャが必要です。

-- Copy old value into history
INSERT INTO History SELECT * From Table WHERE yourCondition = True
-- Delete old value
DELETE FROM Table WHERE yourCondition = True
-- Insert new value
INSERT INTO Table VALUES(@Date, @Data)

これで、テーブルには最新の値を持つ1つの行のみが含まれ、履歴にはすべての古い値が含まれます。これは完全に非標準で非合理的ですが、まさにあなたが望むものでなければなりません。履歴が必要ない場合は、最初のINSERTステートメントを削除するだけです。

于 2013-02-06T12:47:03.220 に答える