【问题标题】:Update an SQL View when a row is inserted into a table which the view uses将行插入到视图使用的表中时更新 SQL 视图
【发布时间】:2015-02-01 12:15:33
【问题描述】:

我正在开发一个 SQL 视图,它从一个视图和一个 SQL 表 LastTrade 中检索数据,我使用网页将数据插入到表 LastTrade 中,当我插入一行时,我希望更新我的 SQL 视图。

我的看法如下

CREATE VIEW [dbo].[CanadianCrudes]
AS
  SELECT a.Id,
         a.Product,
         a.Grade,
         a.Term,
         a.Pipeline,
         a.Location,
         a.[Index],
         a.bidvolume,
         a.Bidcp,
         a.Bid,
         a.Offer,
         a.offercp,
         a.offervolume,
         a.TermID,
         a.ProductID,
         a.GradeID,
         a.Locked,
         a.Hold,
         a.offercpid,
         a.bidcpid,
         a.idbid,
         a.[sequence],
         CASE
           WHEN ROW_NUMBER()
                  OVER (
                    PARTITION BY a.ProductID, a.GradeID, a.TermID, a.Pipeline, a.[Index]
                    ORDER BY a.Bid DESC, a.Offer) = 1 THEN b.LastTradeValue
           ELSE NULL
         END AS LastTradeValue
  FROM   CanadianCrudesRaw AS a
         LEFT JOIN (SELECT Product,
                           Grade,
                           Term,
                           Pipeline,
                           [Index],
                           MIN(LastTradeValue) LastTradeValue
                    FROM   LastTrades
                    GROUP  BY Product,
                              Grade,
                              Term,
                              Pipeline,
                              [Index]) AS b
                ON b.Product = a.Product
                   AND b.Grade = a.Grade
                   AND b.Term = a.Term
                   AND ISNULL(b.Pipeline, '00') = ISNULL(a.Pipeline, '00')
                   AND ISNULL(b.[Index], '00') = ISNULL(a.[Index], '00')

如何实现刷新视图以获取插入数据的触发器?

【问题讨论】:

  • 不需要触发器,伙计 - 只需从视图中选择,它就会提取当前表中的任何数据。
  • 这个问题似乎是题外话,因为它是关于更新视图,这实际上不是一件事。

标签: sql-server triggers sql-view


【解决方案1】:

只需执行以下查询

SELECT * FROM [dbo].[CanadianCrudes]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-04-04
    • 2013-11-12
    • 1970-01-01
    • 1970-01-01
    • 2021-05-01
    • 2018-09-07
    • 2013-12-05
    • 2016-08-30
    相关资源
    最近更新 更多