sql 数据库中用创建好的视图修改表数据

只要满足下列条件,即可通过视图修改基础基表的数据:

1、任何修改(包括 UPDATE、INSERT 和 DELETE 语句)都只能引用一个基表的列。

2、视图中被修改的列必须直接引用表列中的基础数据。不能通过任何其他方式对这些列进行派生,如通过以下方式: 
1)聚合函数:AVG、COUNT、SUM、MIN、MAX、GROUPING、STDEV、STDEVP、VAR 和 VARP。
2)计算。不能从使用其他列的表达式中计算该列。使用集合运算符 UNION、UNION ALL、CROSSJOIN、EXCEPT 和 INTERSECT 形成的列将计入计算结果,且不可更新。

3、被修改的列不受 GROUP BY、HAVING 或 DISTINCT 子句的影响。

4、TOP 在视图的 select_statement 中的任何位置都不会与 WITH CHECK OPTION 子句一起使用。

上述限制适用于视图的 FROM 子句中的任何子查询,就像其应用于视图本身一样。通常情况下,数据库引擎必须能够明确跟踪从视图定义到一个基表的修改

时间: 2024-09-29 22:53:40

sql 数据库中用创建好的视图修改表数据的相关文章

SQL Server触发器创建、删除、修改、查看示例步骤

SQL Server触发器创建.删除.修改.查看示例步骤 一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表.这两个表. 一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束.    

像修改表数据一样修改视图数据

摘要:像修改表数据一样修改视图数据,具体思路是通过给视图增加触发器来实现修改实体表数据 实现效果: Update dbo.[视图] set [字段]=''   等价于  Update dbo.[表] set [字段]='' 备注:数据库使用的是Sql Server 2008 1)用户表 basicdata..[user]USE [BasicData]GO /****** Object:  Table [dbo].[user]    Script Date: 07/20/2015 16:22:31

SQL Server 触发器创建、删除、修改、查看示例

一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Inserted表和Deleted表.这两个表. 一﹕ 触发器是一种特殊的存储过程﹐它不能被显式地调用﹐而是在往表中插入记录﹑更新记录或者删除记录时被自动地激活.所以触发器可以用来实现对表实施复杂的完整性约`束. 二﹕ SQL Server为每个触发器都创建了两个专用表﹕Ins

数据库之创建、增加、修改、删除、约束及三大范式

一. 1.创建数据库 create database MyDB on primary ( Name=MyDB, FileName="D:\MyDB.MDF" ), --创建主数据文件叫MyDB,放在D盘中. ( Name=MyDB1, FileName="E:\MyDB1.NDF" ), --创建次数据文件叫MyDB1,放在E盘中. log on ( Name="MyDB_Log", FileName="E:\MyDB.Log"

第二章 创建、删除和修改表

创建表 create table 表名(属性名 数据类型 [完整性约束条件], 属性名 数据类型 [完整性约束条件], 属性名 数据类型 [完整性约束条件]): 注:建表前先选择数据库 约束条件 约束条件 说明 primary key 设为主键 foreign key 设为外键,是与之联系的某表的主键 not null 设该属性不能为空 unique 标识该属性的值是唯一的 auto_increment 标识该属性的值自动增加 default 设置该属性的默认值 查看表结构 describe 表

数据库基本增删改查与修改表结构

数据库基本增删改查 1. 增-添加/插入数据 insert into 插入哪张表,那些列,什么值, 语句:insert into 表名(列1,列2,列3)values (值1,值2,值3): 可以不按原列的顺序插入,也可以插入部分列,但是值与列要一一对应,不能混乱!!! 一次插入多行数据 : Insert into 表名(列1,列2)values (值1,值2),(值1,值2): 2. 改-更新数据 update 更新哪张表,哪些列,哪些值 语句:update 表名 set 列1=值1,列2=值

Android在adb上操作sqlite3修改表数据

在调试过程中,需要修改数据库中的数据,此时就要用到sqlite3工具,可以方便我们调试 由于在界面上无法打开"数据连接",只能通过修改数据库来打开 下面先来看下如何修改表global中的mobile_data数据 [email protected]:~$ adb root adbd is already running as root [email protected]:~$ adb remount remount succeeded [email protected]:~$ adb

Sap SE16n 修改表数据

SAP中直接修改表.视图的Tcode有SE16N和SM30. 其中使用SE16N修改表需要先输入命令&SAP_EDIT, 回车左下角显示激活SAP编辑功能后,就可以对相应的表进行新增.删除.修改的操作. 有时输入&SAP_EDIT后还是不能激活,是因为另有地方限制,执行程序RKSE16N_EDIT,选中激活编辑功能后,问题得以解决. 另外,在EHP5版本中,激活编辑功能是不被允许的,不过程序中是通过一个判断语句来限制的,可以通过将相关的判断值判断前加断点,手工修改赋予值之后,问题也迎刃而解

数据库的创建和文件的修改

在SQL Server中,使用Create Database创建数据库,使用Alter Database命令,能够修改数据库的数据文件和日志文件. 一,创建数据库 1,在创建数据库时,最佳实践是: 创建一个或多个文件组,并设置默认文件组 每个文件组中的数据文件和CPU的内核数据相同,将文件均匀分布在不同的物理硬盘上,使IO均匀分布在不同的物理磁盘上: 数据文件的初始大小,文件增长和最大大小保持一致,这样,能够使每个文件的IO次数相对均匀: 日志文件分配在性能最好的物理硬盘上,写日志的性能直接影响