Oracle更新视图

这篇具有很好参考价值的文章主要介绍了Oracle更新视图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

要了解是否可以修改固有可更新视图的列以及可以修改的方式,请查询 USER_UPDATABLE_COLUMNS 数据字典视图.

select * from user_updatable_columns where table_name='view_name'

附带视图简介

创建和查询视图

视图是可在数据库中创建的已保存的查询。 单个视图可以引用一个或多个表。 而且,与表一样,视图由数据行和列组成。 可以使用视图作为查询源,其方式与表相同。 但是,视图不会永久存储数据;视图的定义在运行时解压缩,并查询源对象。

表和视图之间的明显相似性提供了一个重要优势。 应用程序可以编写为使用视图而不是基础表,从而防止应用程序对表进行更改。 这会为数据提供一层额外的安全性。

只要视图继续向调用应用程序呈现相同的结构,应用程序也会收到一致的结果。 这样,视图就可以被视为数据库的应用程序编程接口 (API),以检索数据。

视图必须由数据库开发人员或在数据库中具有相应权限的管理员创建。

创建视图

若要创建视图,请使用 CREATE VIEW 语句命名并存储单个 SELECT 语句。 可以使用以下语法创建视图:

CREATE VIEW <schema_name.view_name> [<column_alias_list>] 
[WITH <view_options>]
AS select_statement;

 除非视图使用 TOP、OFFSET/FETCH 或 FOR XML 元素,否则视图定义中不允许 ORDER BY 子句。

例如,若要基于包含多个表的自定义 SELECT 语句创建名为 Sales.CustOrders 的视图,可以编写以下查询:

CREATE VIEW Sales.CustOrders
AS
SELECT
  O.custid, 
  DATEADD(month, DATEDIFF(month, 0, O.orderdate), 0) AS ordermonth,
  SUM(OD.qty) AS qty
FROM Sales.Orders AS O
  JOIN Sales.OrderDetails AS OD
    ON OD.orderid = O.orderid
GROUP BY custid, DATEADD(month, DATEDIFF(month, 0, O.orderdate), 0);

请注意,示例中大多数代码都由 SELECT 语句组成。 视图定义中的 SELECT 语句可以复杂,也可以简单,具体取决于你的需求。

查询视图

若要查询视图并从中检索结果,请在 SELECT 语句的 FROM 子句中引用它,就像引用表一样。 例如,若要在 Sales.CustOrders 视图中返回客户 ID、订单月份和每个订单中的项数量,可以运行以下查询:

SELECT custid, ordermonth, qty
FROM Sales.CustOrders;

参见:

探索关系数据结构 - Training | Microsoft Learn

使用临时表 - Training | Microsoft Learn

创建和查询视图 - Training | Microsoft Learn

在 Oracle 中,是否可以通过视图插入或更新记录? - 行业资讯 - 电子产品设计开发与电子技术学习交流!文章来源地址https://www.toymoban.com/news/detail-562116.html

到了这里,关于Oracle更新视图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包赞助服务器费用

相关文章

  • Oracle、MySQL数据库常规命令语法-简易记录(非常规持续更新)

    Oracle、MySQL数据库常规命令语法-简易记录(非常规持续更新)

    前言:呈现的是非常基础必备命令以及常规关联语法,因涉及到不同数据库其表达都会有所区别,此篇纯属做个仓库记录更非常规持续更新,专业人士可忽略,且看且珍惜… MySQL: 关系型数据库、重点开源、支持大型规模、标准SQL数据语言、多平台多架构、高可用集群、可定

    2024年01月25日
    浏览(33)
  • 数据库将一张表中的数据更新到另一张表(Oracle、MySQL)

            方式一(推荐)         方式二         方式一比方式二效率快很多

    2024年02月07日
    浏览(36)
  • Oracle更新视图

    要了解是否可以修改固有可更新视图的列以及可以修改的方式,请查询 USER_UPDATABLE_COLUMNS 数据字典视图. 附带视图简介 视图是可在数据库中创建的已保存的查询。 单个视图可以引用一个或多个表。 而且,与表一样,视图由数据行和列组成。 可以使用视图作为查询源,其方式

    2024年02月16日
    浏览(7)
  • 【Oracle】收集Oracle数据库内存相关的信息

    【Oracle】收集Oracle数据库内存相关的信息

    【声明】文章仅供学习交流,观点代表个人,与任何公司无关。 编辑|SQL和数据库技术(ID:SQLplusDB) Oracle数据库包含多个内存区域,每个区域都包含多个子组件。 Oracle Database Memory Structures 根据具体问题的需要,可以通过如下命令收集Oracle数据库内存相关的信息。 例: 注:SET

    2024年01月21日
    浏览(19)
  • Oracle数据库面试题 精选 Oracle 面试题

    1.解释冷备份和热备份的不同点以及各自的优点 冷备份 发生在数据库已经正常关闭的情况下,将关键性文件拷贝到另外位置的一种说法。适用于所有模式的数据库。 优点 1. 是非常快速的备份方法(只需拷贝文件) 2. 容易归档(简单拷贝即可) 3. 容易恢复到某个时间点上(只

    2024年02月05日
    浏览(12)
  • 【Oracle】使用 SQL Developer 连接 Oracle 数据库

    SQL Developer 是 Oracle 官方推出的一款免费的数据库开发工具,它提供了丰富的数据库开发功能,其中包括连接 Oracle 数据库的功能。 在本文中,我们将从多个方面详细阐述如何使用 SQL Developer 连接 Oracle 数据库。 在连接 Oracle 数据库前,需要需要做一些准备工作,包括安装 SQ

    2024年02月06日
    浏览(12)
  • Oracle数据库

    Oracle数据库

    ①层次型数据库 ②网状型数据库 ③关系型数据库(主要介绍) E-R图:属性(椭圆形),实体(矩形),联系(菱形-一对一、一对多、多对多) 注:有的联系也有属性 关系型数据库的设计范式: 第一范式(1NF):属性不可再分,字段保证原子性 第二范式(2NF):在满足1

    2024年02月08日
    浏览(15)
  • Oracle 开发篇+Java通过HiKariCP访问Oracle数据库

    Oracle 开发篇+Java通过HiKariCP访问Oracle数据库

    标签:HikariCP、数据库连接池、JDBC连接池、 释义:HikariCP 是一个高性能的 JDBC 连接池组件,号称性能最好的后起之秀,是一个基于BoneCP做了不少的改进和优化的高性能JDBC连接池。 ★ Java代码 ※ 如果您觉得文章写的还不错, 别忘了在文末给作者点个赞哦 ~

    2024年02月13日
    浏览(15)
  • Oracle数据库概念简介

    Oracle数据库概念简介

    一般意义上的数据库包含两个部分 库:就是一个存储一堆文件的文件目录 数据库管理系统:管理库的系统 数据库管理系统(Database Management System),是一种操纵和管理数据库的大型软件,用于建立、使用和维护数据库,简称 DBMS ; 它对数据库进行统一的管理和控制,以保证数

    2024年02月09日
    浏览(11)
  • ORACLE数据库 开窗函数

    开窗函数 2.1开窗函数的定义及语法 开窗函数(又名:分析函数,窗口函数,OLAP函数) 聚合函数:将数据按照一定的规则分组,统一分析各组的某项情况,每个分组返回一行结果 开窗函数:将数据按照一定的规则分组,统一分析各组的某项情况,每行数据返回一行结果 (

    2024年02月11日
    浏览(16)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包