sql server中如何修改视图中的数据?

我做个测试,视图的数据有标记字段时,如果是这种方式(0 as FlagState),是无法修改的

--创建视图语句 ---
create view V_EdsProd_1
as
select a.Uid ProdId, a.Code ProdCode,a.Name ProdName,b.Name ProdUnit,0 as FlagState
from EdsProd a
left join EdsProdUnit b on a.ProdUnit = b.Uid
where a.DownloadFlag=0 and a.State=9
go

查询视图的数据

--查询视图的数据---
select * from V_EdsProd_1

假如,我们要修改视图的数据(33921,33922)的状态为1

--修改视图数据的语法--
update V_EdsProd_1 set FlagState=1 where ProdId in(33921,33922);

报错如下:

那么,我们将上面创建的视图,重新定义一下(0 as FlagState)把这个0改成数据表中存在的字段

--删除视图的语法--
drop view V_EdsProd_1; --创建视图语句 ---
create view V_EdsProd_1
as
select a.Uid ProdId, a.Code ProdCode,a.Name ProdName,a.DownloadFlag as FlagState
from EdsProd a
left join EdsProdUnit b on a.ProdUnit = b.Uid
where a.DownloadFlag=0 and a.State=9
go

再次执行修改语句,结果如下:

总结:

  数据库的视图的数据如果想要修改,必须保证标记字段是持久化存在的(得有这个字段),才能修改;反之,

如果只是用“0或' ' AS FlagState” 这种,只是一个引用,下次调用视图还是会被初始化,无法修改

sql server中如何修改视图中的数据?的更多相关文章

  1. SQL Server 执行计划利用统计信息对数据行的预估原理以及SQL Server 2014中预估策略的改变

    前提  本文仅讨论SQL Server查询时, 对于非复合统计信息,也即每个字段的统计信息只包含当前列的数据分布的情况下, 在用多个字段进行组合查询的时候,如何根据统计信息去预估行数的. 利用不同字段 ...

  2. ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接

    原文:ArcSDE for SQL Server安装及在ArcMap中创建ArcSDE连接 安装ArcSDE for SQL Server,最后一步成功后的界面如下: 在ArcMap中创建ArcSDE ...

  3. SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型

    原文:SQL Server 2008空间数据应用系列五:数据表中使用空间数据类型 友情提示,您阅读本篇博文的先决条件如下: 1.本文示例基于Microsoft SQL Server 2008 R2调测 ...

  4. SQL Server、Oracle和MySQL中查出值为NULL的替换

    参考文献: http://database.51cto.com/art/200803/67397.htm 正文 在SQL Server Oracle MySQL当数据库中查出某值为NULL怎么办? 1 ...

  5. SQL Server 2008 R2 清空数据库中ldf日志文件

    /************************************************************ * Sql Server 2008 R2 清空数据库中ldf日志文件 * 将 ...

  6. SQL Server的非聚集索引中会存储NULL吗?

    原文:SQL Server的非聚集索引中会存储NULL吗? SQL Server的非聚集索引中会存储NULL吗? 这是个很有意思的问题,下面通过如下的代码,来说明,到底会不会存储NULL. --1.建 ...

  7. SQL Server索引 - 索引(物化)视图 <第九篇>

    一.索引视图基本概念 索引视图实际上是一种将一组唯一值“物化”为群集索引形式的视图,所为物化就是几乎和表一样,其数据也是会存储一份的(会占用硬盘空间,但是查询速度快,例如可以将count(),sum( ...

  8. vue中直接修改props中的值并未给出警告,为啥?

    问:vue中直接修改props中的值并未给出警告,为啥? 答:如果props传入的值是引用类型,在子组件中改变其元素,不改变引用,那么不报错: 如果是基本类型,那么在修改时浏览器控制台会有报错信息. ...

  9. SQL Server跨服务器建立视图

    create view View_AppCus as select dwmch,zjm from ksoa.dbo.mchk SQL Server跨服务器操作经常需要用到,下面就为你介绍的是SQL S ...

随机推荐

  1. Matlab学以致用--模拟os任务装载情况

    2012-06-08 21:26:42 用matlab来建模,仿真不同时刻os task在队列中的装载情况.输入参数如下 作为初学者,M文件写的有点长.能实现功能就算学以致用了. clear;clc ...

  2. ABP入门系列之1——ABP总体介绍

    ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ASP.NET Boilerplate是一个用最佳实践和流行技术开发现代WEB应用程序的新起点, ...

  3. Linux虚拟机配置(新猿旺学习总结)

    Linux系统环境部署 安装VMware虚拟机 选择安装位置要预留出20G虚拟机空间点击VM虚拟机安装包à一路下一步直至安装完成à进入界面 创建虚拟机 选择典型à找到安装镜像文件à安装机名称和位置选择 ...

  4. Qt重绘之update,repaint详解

    Qt里面的重绘和Windows编程里面的重绘差不多.但是Qt的重绘更有特色,更加智能. 在讲之前,先说说paintEvent() paintEvent()是一个虚函数槽(slot),子类可以对父类的p ...

  5. 继承 派生 super()经典类 新式类

    '''1什么是继承? 继承一种新建类的方式,在python中支持一个儿子继承多个爹 新建的类称为子类的或者派生类 父类有可以称为基类或者超类 子类会‘遗传’父类的属性 2 为什么要用继承 减少代码冗余 ...

  6. bzoj2839 集合计数(容斥)

    2839: 集合计数 Time Limit: 10 Sec  Memory Limit: 128 MBSubmit: 883  Solved: 490[Submit][Status][Discuss] ...

  7. VS Code常用快捷键

    // 基础操作 Alt+ ↑                  向上移动行 Shift+Alt + ↓           向上复制行 Ctrl+Enter              在下面换行 (这 ...

  8. opencv学习之路(32)、角点检测

    一.角点检测的相关概念 二.Harris角点检测——cornerHarris() 参考网址: http://www.cnblogs.com/ronny/p/4009425.html #include ...

  9. (转载)Unity3D所要知道的基础知识体系大纲,可以对照着学习,不定期更新

    本文献给,想踏入3D游戏客户端开发的初学者. 毕业2年,去年开始9月开始转作手机游戏开发,从那时开始到现在一共面的游戏公司12家,其中知名的包括搜狐畅游.掌趣科技.蓝港在线.玩蟹科技.天神互动.乐元素 ...

  10. 微信小程序复选框实现 多选一功能

    功能实现界面 data: { checkboxItems: [ { name: '全天(1-8节)', value: 'allday' }, { name: '上午(1-4节)', value: 'a ...