只有最新数据显示在桌面上

时间:2013-02-06 12:39:18

标签: sql sql-server sql-server-2005

如何创建表格或触发如下所示的操作?

     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

1 个答案:

答案 0 :(得分:2)

我想你只想要一个显示最新价值的视图。

以下是您用于视图的查询...

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)

现在Table只包含一行具有最新值,而History将包含所有旧值。这完全是非标准和非理性的,但应该是你想要的。如果您不需要历史记录,则可以删除第一个INSERT语句。