代码之家  ›  专栏  ›  技术社区  ›  Byron Whitlock

将数据插入视图时的最佳实践

  •  1
  • Byron Whitlock  · 技术社区  · 16 年前

    我有一些视图,我想在其中插入一些数据。我听说你需要 做这个时要小心 “,您需要” 设置视图以使插入正确工作 “。我需要寻找什么,如果我需要对视图做些什么来允许插入到视图中呢?

    即使非常麻烦,还是最好插入底层表中?

    2 回复  |  直到 16 年前
        1
  •  1
  •   gbn    16 年前

    来自msdn, Modifying Data Through a View

    • 可以更新单个基表
    • 没有聚合或花式连接
    • 无限行器(如顶部)

    就个人而言,如果我不能使用存储过程并且必须允许可更新的视图,我将使用instead而不是/before触发器。

        2
  •  0
  •   p.campbell    16 年前

    你不能 INSERT INTO vwMyCompexView 使用T-SQL,也不能使用SQL Management Studio的网格GUI将数据插入由底层联接组成的视图中。

    可以使用SQL mgmt studio grid gui或T-SQL将数据插入由 单人桌 不执行任何计算或聚合函数。只有那些是基表的直镜像的视图才能插入到。如果视图排除不可为空且没有默认值的列,则插入将失败。

    我的建议是始终使用存储过程编写插入脚本。(事实上,在回答这个问题之前,我必须尝试这两种情况。我从未考虑过使用视图插入数据。只有我一个人;Ymmv。)