精华内容
下载资源
问答
  • 在下列情况视图被视为可更新的分区视图视图是一组 SELECT 语句,这些语句的结果集通过 UNION ALL 语句组合为一个结果集。每个 SELECT 语句引用一个 SQL Server 基表。该表可以是本地表,也可以是使用 4部分...

    特定的分区可以

    在下列情况中,视图被视为可更新的分区视图:

    • 视图是一组 SELECT 语句,这些语句的结果集通过 UNION ALL 语句组合为一个结果集。每个 SELECT 语句引用一个 SQL Server 基表。该表可以是本地表,也可以是使用 4 部分名称、OPENROWSET 函数或 OPENDATASOURCE 函数引用的链接表(不能使用 OPENDATASOURCE 或 OPENROWSET 函数指定直接传递式查询)。

     

    INSERT 语句通过分区视图将数据添加到成员表中。INSERT 语句必须遵守下列规则:

    • 所有列必须包含在 INSERT 语句中,即使基表中的列可能为 NULL 或在基表中定义了 DEFAULT 约束。

    • 不能在 INSERT 语句的 VALUES 子句中指定 DEFAULT 关键字

    • INSERT 语句提供的值必须符合在一个成员表的分区列上定义的 CHECK 约束逻辑

    • 如果一个成员表包含具有标识属性的列,则不能使用 INSERT 语句。

    • 如果一个成员表包含 timestamp 列,则不能使用 INSERT 语句。

    • 如果存在具有同一视图或任一成员表的自联接,则不能使用 INSERT 语句。

    UPDATE 语句通过分区视图在一个或多个成员表中修改数据。UPDATE 语句必须遵守下列规则:

    • UPDATE 语句不能在 SET 子句中将 DEFAULT 关键字指定为值,即使列在相应的成员表中定义了 DEFAULT 值。

    • 不能更改具有标识属性的列的值;不过可以更新其它列。

    • 如果列中包含 textimage  ntext 数据,则不能更改 PRIMARY KEY 的值。

    • 如果基表中包含 timestamp 列,则不能进行更新。

    • 如果存在具有同一视图或成员表的自联接,则不能进行更新。

    • 不能在 UPDATE 语句的 SET 子句中指定 DEFAULT 关键字。

    DELETE 语句通过分区视图在一个或多个成员表中删除数据。DELETE 语句必须遵守如下规则:

    • 如果存在具有同一视图或任一成员表的自联接,则不能使用 DELETE 语句。
    分类: SQL
    本文转自左正博客园博客,原文链接:http://www.cnblogs.com/soundcode/archive/2012/09/10/2678338.html,如需转载请自行联系原作者
    展开全文
  • 什么是基本表?什么是视图?...所有视图是否可以更新?:不是,视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一有意义地转换相应基本表的...

    什么是基本表?什么是视图?:基本表是本身独立存在的表,在SQL中一个关系对应一个表。视图是从一个或几个基本表导出的表,本身不独立存储在数据库中,是一个虚表。即数据库中只存放视图的定义而不存放视图对应的数据,这些数据仍存放在导出视图的基本表中。

    所有视图是否都可以更新?:不是,视图是不实际存储数据的虚表,因此对视图的更新,最终要转换为对基本表的更新。因为有些视图的更新不能唯一有意义地转换相应基本表的更新,所以,并不是所有的视图都可以更新的。

    什么是视图

    1. 视图能够简化用户操作。
    2. 视图使用户能以多种角度看待同一数据。
    3. 视图对重构数据库提供了一定程度的逻辑独立性。
    4. 视图能够对机密数据提供安全保护。
    展开全文
  • 视图

    2021-05-19 23:12:47
    哪些是视图,只需要知道在更新时它们之间存在一些不同就可以了,这一 点之后会为大家进行介绍。至少在编写 SELECT 语句时并不需要特别在 意表和视图有什么不同。 那么视图和表到底有什么不同呢?区别只有一个,那...

    我们首先要学习的是一个新的工具 —— 视图。
    视图究竟是什么呢?如果用一句话概述的话,就是“从 SQL 的角度
    来看视图就是一张表”。实际上,在 SQL 语句中并不需要区分哪些是表,
    哪些是视图,只需要知道在更新时它们之间存在一些不同就可以了,这一
    点之后会为大家进行介绍。至少在编写 SELECT 语句时并不需要特别在
    意表和视图有什么不同。
    那么视图和表到底有什么不同呢?区别只有一个,那就是“是否保存
    了实际的数据”。
    通常,我们在创建表时,会通过 INSERT 语句将数据保存到数据库
    之中,而数据库中的数据实际上会被保存到计算机的存储设备(通常是硬
    盘)中。因此,我们通过 SELECT 语句查询数据时,实际上就是从存储
    设备(硬盘)中读取数据,进行各种计算之后,再将结果返回给用户这样
    一个过程。
    但是使用视图时并不会将数据保存到存储设备之中,而且也不会将数
    据保存到其他任何地方。实际上视图保存的是 SELECT 语句(图 5-1)。
    我们从视图中读取数据时,视图会在内部执行该 SELECT 语句并创建出
    一张临时表。

     

     

    展开全文
  • 数据库资料

    2018-04-01 22:00:33
    SQL Server存在五种约束,分别是:主键约束、外键约束、检查约束、默认约束和唯一性约束(唯一性约束将在后续课程使用SQL语句实现)总结创建数据库表需要:确定表的列名、数据类型、是否允许为空,还需要确定...
  • 义肢数据库-源码

    2021-02-16 22:03:02
    无法在Safari旋转/平移文件,但可以放大和缩小; 正确更新; 正确下载 在Windows上,根据是否存在侧面滚动条,视图会发生轻微变化 其他: 用户可能会困惑画布不会更新,除非再次明确按下“提交” 用户可能希望...
  • 思路1:采用备份表 备份表存储不活跃的数据eg:只有查询操作的数据(数据的部分属性字段不再更改)且查询次数也较少; 备份表可以是一张或者多张备份表...多张备份表时可以使用视图对多个备份表进行联合查询。 是否采用
    思路1:采用备份表
    备份表中存储不活跃的数据eg:只有查询操作的数据(数据的部分属性字段不再更改)且查询次数也较少;
    备份表可以是一张或者多张备份表,若采用多张备份表,则定期创建备份表(备份表的命名要规范,可以考虑使用原表名称+时间戳命名)
    采用多张备份表:定期创建一个备份表(备份一定期间范围内的数据,多张备份表采用联合查询)
    多张备份表时可以使用视图对多个备份表进行联合查询。
    是否采用多张备份表是基于总的数据量的大小+Oracle数据库对单张表存储数据的支持。
    思路2:Oracle数据库采用分区表(物理磁盘上存储在不同的位置,逻辑上仍为一张表)
    当表中的数据量不断增大,查询数据的速度就会变慢,应用程序的性能就会下降,这时就应该考虑对表进行分区。表进行分区后,逻辑上表仍然是一张完整的表,
    只是将表中的数据在物理上存放到多个表空间(物理文件上),这样查询数据时,不至于每次都扫描整张表。
    从应用程序的角度来看,分区后的表与非分区表完全相同,使用 SQL DML 命令访问分区后的表时,无需任何修改。
    使用分区表操作步骤:
    1.创建多个表空间:(备注:ADC_BACK_1 、ADC_BACK_2、ADC_BACK_3、USERS 为表空间名称,datafile后面指定了表空间的物理磁盘存储路径)
    create tablespace ADC_BACK_1 datafile 'D:\OracleBack\ADC1.dnf' size 500M;
    create tablespace ADC_BACK_2 datafile 'D:\OracleBack\ADC2.dnf' size 500M;
    create tablespace ADC_BACK_3 datafile 'D:\OracleBack\ADC3.dnf' size 500M;
    create tablespace USERS datafile 'D:\OracleBack\ADC4.dnf' size 500M;
    2.一次性在不同的表空间创建数据库表(同时指定表字段、数据存储到哪一表空间的判断标准)如下:

    (备注:range()指定数据库表中的某一字段作为数据存储到不同表空间的判断标准)


    (备注:此处在4个不同的表空间分别创建一张表,4张表的结构相同,以后会根据不同的时间产生的数据存储在不同的表空间的表中)


    (备注:在最高的分区中,MAXVALUE被定义。MAXVALUE代表了一个不确定的值。这个值高于其它分区中的任何分区键的值,
    也可以理解为高于任何分区中指定的VALUE LESS THEN的值,同时包括空值。)
    3.以前的SQL查询语句不变,一样查询数据
    (备注:查询数据时,不再全表扫面,只是根据条件扫描一个或多个表空间中的数据库表,所以查询性能会有很好的提升)

    参考:https://www.2cto.com/database/201604/503199.html

    事例:

    create tablespace ADC_BACK_1 datafile 'F:\Oracle\tablespaces\ADC_BACK_1.dnf' size 100M autoextend on next 100m maxsize 20480m extent management local;
    create tablespace ADC_BACK_2 datafile 'F:\Oracle\tablespaces\ADC_BACK_2.dnf' size 100M autoextend on next 100m maxsize 20480m extent management local;
    create tablespace ADC_BACK_3 datafile 'F:\Oracle\tablespaces\ADC_BACK_3.dnf' size 100M autoextend on next 100m maxsize 20480m extent management local;
    create tablespace ADC_BACK_4 datafile 'F:\Oracle\tablespaces\ADC_BACK_4.dnf' size 100M autoextend on next 100m maxsize 20480m extent management local;
    create tablespace ADC_BACK_5 datafile 'F:\Oracle\tablespaces\ADC_BACK_5.dnf' size 100M autoextend on next 100m maxsize 20480m extent management local;


    create table MON_PROCESS_RECORD_BACK(
    INFOID VARCHAR2(36),
    DIC_FLOWTYPE_ID VARCHAR2(36),
    START_TIME DATE,
    END_TIME DATE,
    IS_SUCCESS CHAR(1),
    ERROR_CODE VARCHAR2(2000),
    DEL_FLAG CHAR(1),
    ID VARCHAR2(36) PRIMARY KEY,
    DEALWAY CHAR(1),
    DETAIL VARCHAR2(4000),
    DIC_EB_PLATFORM_ID VARCHAR2(36),
    STATE VARCHAR2(100),
    INSTRUCTION_ID VARCHAR2(36),
    INSTRUCTION_NUM VARCHAR2(4),
    EBI_INFO_CODE VARCHAR2(50),
    IS_DISPLAY VARCHAR2(1)
    )
    partition by range(EBI_INFO_CODE)(
    partition part_01 values less than('201608100000000000000') tablespace ADC_BACK_1,
    partition part_02 values less than('201609100000000000000') tablespace ADC_BACK_2,
    partition part_03 values less than('201610100000000000000') tablespace ADC_BACK_3,
    partition part_04 values less than('201611100000000000000') tablespace ADC_BACK_4,
    partition part_05 values less than('201612300000000000000') tablespace ADC_BACK_5,
    partition part_06 values less than(maxvalue) tablespace USERS
    );


    转移数据:

    insert into MON_PROCESS_RECORD_BACK(
    INFOID,
    DIC_FLOWTYPE_ID,
    START_TIME,
    END_TIME,
    IS_SUCCESS,
    ERROR_CODE,
    DEL_FLAG,
    ID,
    DEALWAY,
    DETAIL,
    DIC_EB_PLATFORM_ID,
    STATE,
    INSTRUCTION_ID,
    INSTRUCTION_NUM,
    EBI_INFO_CODE,
    IS_DISPLAY
    )
    select 
    INFOID,
    DIC_FLOWTYPE_ID,
    START_TIME,
    END_TIME,
    IS_SUCCESS,
    ERROR_CODE,
    DEL_FLAG,
    ID,
    DEALWAY,
    DETAIL,
    DIC_EB_PLATFORM_ID,
    STATE,
    INSTRUCTION_ID,
    INSTRUCTION_NUM,
    EBI_INFO_CODE,
    IS_DISPLAY
    from MON_PROCESS_RECORD;


    展开全文
  • (一)、在已建立的数据库和数据表的基础上,向数据库中添加一个临时表ST,其结构与S表结构相同。用Insert语句向临时表输入数据,输入有误时用Update语句进行修改。再用三个更新语句完成下列操作。 1、向S表添加若干...
  • 可以查询,不能更新可以根据视图新建视图,但是不能update insert delete 换成基于聚集的视图答案也是相似的,单表视图包含所有非空属性(主属性)理论上可以插入修改删除。如视图不包含所有非空属性,则不能...
  • 4、新增对数据库视图的支持 5、新增大量自定义模板示例 6、新增SQL查询导出数据功能,在生成自定义文件时通过配置SQL查询数据导出生成任何需要的文件 7、新增一些内置静态对象用于生成自定义文件时使用,例如:...
  • 内容主要集中在大多数企业常见的问题之上,如安装和升级到oracle database 11g数据库软件、创建数据库、导出和导入数据、数据库的备份与恢复、性能调优,等等。  本书还提供了dba完成本职工作必备的基本的uniix...
  • 【说明】数据库视图、同义词、物化视图、DBLink的建设原因,并阐述是否存在性能问题 存储空间规划 【说明】 1.估算系统的初始数据量,增长量及周期,初始数据空间需求 2.是否建立独立的表空间,索引空间,临时表...
  • 因为这样可以避免 top的字段如果是逻辑索引的,查询的结果后实际表的不一致(逻辑索引的数据有可能和数据表的不一致,而查询时如果处在索引则首先查询索引) 14、说明:前10条记录 select top 10 * form ...
  • 实务7 安装oracle时,是否需要安装jdk 实务8 解压安装文件时,报告无权限 实务 实务9 安装oracle软件并创建完数据库后,服务内的oraclesid显示 实务9 “启动”而不是“已启动” 实务10 安装oracle时,报告错误...
  • 实务7 安装oracle时,是否需要安装jdk 实务8 解压安装文件时,报告无权限 实务 实务9 安装oracle软件并创建完数据库后,服务内的oraclesid显示 实务9 “启动”而不是“已启动” 实务10 安装oracle时,报告错误...
  • 除了常规调用外,在BDB还提供了外部命令行调用数据库自动安装支持, 您可以通过该功能把数据库部署集成到您的安装程序。 <br>3,数据库自动升级。 可在不影响原有数据表数据的前提下进行数据库...
  • CHECK TABLE tbl_name[,tbl_name] ... [option] ...option= {QUICK | FAST | MEDIUM | EXTENDED | CHANGED}检查一个或多个表是否有错误。...CHECK TABLE也可以检查视图是否有错误,比如在视图定义被引...
  • MissionKontrol是一个管理面板,允许用户对一个或多个数据库中的数据进行CRUD。 该应用程序具有自己的数据库,用于存储配置和注释。 您连接到的数据库将直接更新。 单独的改善了写入/更新/删除验证。 我们正在考虑...
  • 23210.6 用查询更新的数据 23310.6.1 确定你是否更新查询的特性 23310.6.2 用查询字段属性窗口格式化 数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 ...
  • 23210.6 用查询更新的数据 23310.6.1 确定你是否更新查询的特性 23310.6.2 用查询字段属性窗口格式化 数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 ...
  • 23210.6 用查询更新的数据 23310.6.1 确定你是否更新查询的特性 23310.6.2 用查询字段属性窗口格式化数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 ...
  • 23210.6 用查询更新的数据 23310.6.1 确定你是否更新查询的特性 23310.6.2 用查询字段属性窗口格式化数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 ...
  • 23210.6 用查询更新的数据 23310.6.1 确定你是否更新查询的特性 23310.6.2 用查询字段属性窗口格式化数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 ...
  • 23210.6 用查询更新的数据 23310.6.1 确定你是否更新查询的特性 23310.6.2 用查询字段属性窗口格式化数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 ...
  • 23210.6 用查询更新的数据 23310.6.1 确定你是否更新查询的特性 23310.6.2 用查询字段属性窗口格式化数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 ...
  • 23210.6 用查询更新的数据 23310.6.1 确定你是否更新查询的特性 23310.6.2 用查询字段属性窗口格式化数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 ...
  • 23210.6 用查询更新的数据 23310.6.1 确定你是否更新查询的特性 23310.6.2 用查询字段属性窗口格式化数据 23410.7 使表的所有字段都可以被访问 23510.8 在多个记录上创建计算 23510.8.1 使用SQL的聚集函数 ...

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 246
精华内容 98
关键字:

数据库中视图是否可以更新