SQL Server数据库 - 允许应用程序编辑视图中的记录?

Jos*_*eld 1 sql sql-server views updatable-views

我为一组三个表创建了一个自定义视图.如何配置视图以便应用程序可以像使用表一样编辑它?我正在使用SQL Server Studio Express.

OMG*_*ies 5

SQL Server中的视图可以更新,但有一些限制(CREATE VIEW,Updatable View部分):

  • 任何修改(包括UPDATE,INSERT和DELETE语句)都必须仅引用一个基表中的列.
  • 要在视图中修改的列必须直接引用表列中的基础数据.无法以任何其他方式派生列,例如通过以下方式:
    • 聚合函数:AVG,COUNT,SUM,MIN,MAX,GROUPING,STDEV,STDEVP,VAR和VARP.
    • 一个计算.无法从使用其他列的表达式计算列.通过使用集合运算符UNION,UNION ALL,CROSSJOIN,EXCEPT和INTERSECT形成的列相当于计算并且也不可更新.
  • 要修改的列不受GROUP BY,HAVING或DISTINCT子句的影响.
  • TOP不会在视图的select_statement中的任何位置与WITH CHECK OPTION子句一起使用.

否则,您将不得不使用INSTEAD OF触发器.