Oracle中的视图

news2024/12/28 21:34:10

1- 什么是视图

视图是一个虚拟表

视图是由sql查询语句产生的

视图真实存在 但是不存储数据

视图中的数据 只是对 基表(源数据表) 中的数据的引用

总的来说 视图可以简化数据

用户,订单,物流 三个表进行关联 吧很复杂的sql查询语句存储成一个视图 

获取结果就可以直接查询视图 不用再重复的进行sql查询

并且提供一定的安全性 以及 向后兼容性

视图你可以理解为   从原来的很多表中 select出你需要的几个字段信息进行查询 并且形成视图

无需重复查询,通过原表select出视图 。并且可以通过原表同步数据到t2表格

如果删除原表 则视图也无法查询

语法格式:

create [or replace] [force] view view_name
as 
subquery
[with check option ]
[with read only]

  • or replace

    • 替换已存在的视图

  • force

    • 强制创建视图(可以给不存在的数据表创建视图)

  • with check option

    • 不能修改视图形成字段的数据

  • with read only

    • 只读不能进行数据修改

with check option的作用

  • 简单视图 中的任意数据都可以进行任意操作

  • with check option 只要不影响我们的非视图数据就可以操作

with read only

视图不能进行任何的dml操作(增删改)

or replace

替换原有的视图

force

  • 作用

    • 创建一个没有源数据表的视图

  • 删除视图

    • drop view 视图名

2-复杂视图

  • 定义

    • 多表 聚合函数 子查询 等

  • 注意

    • 不要dml操作 很容易出错

3-物化视图

  • 什么是物化视图

    • 视图 是不会存储数据的

    • 物化视图 是真实存储数据

  • 为什么要物化视图

    • 加快查询速度

    • 数据量变大 视图查询速度比较慢

    • 物化视图 查询速度比较快

    • meger on read

  • meger on write  <<加快数据同步>>

语法格式

create materialized view view_name
[build immediate  |  build deferred ]
refresh [fast|complete|force]
[
on  [commit  |  demand ]  |  start  with  (start_time)  next
(next_time)
]
as
subquery

  • materialized view

    • 物化视图

  • build immediate(默认)

    • 创建视图后 立马生成数据

  • build deferred

    • 创建视图后 等待刷新生成数据

  • refresh : 数据刷新

    • fast : 增量更新

    • complete : 全量更新

    • force (默认方式)

      • 尝试使用fast更新

      • 再去使用全量更新

    • on (确定更新时机)

      • commit : 基表只要commit就会开始更新

      • demand : 手动方式(刷新) (默认的)

物化视图的增量更新

增量更新语法

  • 增量更新的物化视图

    • 创建基表的物化视图日志

    • 产生物化视图的 sql 必须包含rowid

创建日志

创建日志
create materialized view log on T_ADDRESS with rowid;
物化视图的sql必须包含rowid
select
        T_ADDRESS.ROWID as addr_rowid,
        T_AREA.ROWID as area_rowid,
        T_ADDRESS.ID, T_ADDRESS.NAME, T_AREA.NAME area
from T_ADDRESS
inner join T_AREA on T_ADDRESS.AREAID = T_AREA.ID;

4-序列

什么是序列

  • 一个可以产生 唯一数字

    • 设置起始位置

    • 设置增长数量

    • 最大值

    • 最小值

    • 循环

序列语法格式

CREATE SEQUENCE sequence  //创建序列名称

[INCREMENT BY n]  //递增的序列值是 n 如果 n 是正数就递增,如果是负数就递减 默认是 1

[START WITH n]     //开始的值,递增默认是 minvalue 递减是 maxvalue

[{MAXVALUE n | NOMAXVALUE}] //最大值
[{MINVALUE n | NOMINVALUE}] //最小值

[{CYCLE | NOCYCLE}] //CYCLE和NOCYCLE 表示当序列的值达到限制值后是否循环。CYCLE代表循环即到达例如最大值后重新从最小值开始

[{CACHE n | NOCACHE}];//定义存放序列的内存块的大小,默认为20。NOCACHE表示不对序列进行内存缓冲。对序列进行内存缓冲,可以改善序列的性能。

注意点

  • 起始值是不能小于最小值的

  • 如果没有循环 能取到值 是不能超过最大值的

  • 如果有循环 起始从最小值开始

  • cache默认是为20的 循环值是要大于这个值的

5-同义词

  • 对象的别名

    • 对象 : 表 序列 视图

  • 作用

    • 私有

      • 只能是创建这个同义词的用户使用

    • 共有

      • 所有的用户都可以使用

    • 给对象起别名 设置为公共的

      • 所有人都可以用这个同义词 所有人都不知道原始表名 表的用户

语法格式
 

create [public] SYNONYM synooym for object;

  • 不加public就是私有的

  • 加public就是共有的

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1613715.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

入门产品经理你一定要知道的事(下)

产品经理职责与能力 一、产品经理的具体工作职责包括&#xff1a; 1、市场调研 做一个产品。首先&#xff0c;要了解行业跟市场的情况&#xff0c;这个市场要在我们进来之后还有可以分的利润&#xff0c;如果说进来之后&#xff0c;发现市场已经被分完了&#xff0c;那我们还…

【力扣 Hot100 | 第六天】4.21(最长连续序列)

文章目录 10.最长连续序列10.1题目10.2解法&#xff1a;哈希法10.2.1哈希思路10.2.2代码实现 10.最长连续序列 10.1题目 给定一个未排序的整数数组 nums &#xff0c;找出数字连续的最长序列&#xff08;不要求序列元素在原数组中连续&#xff09;的长度。 请你设计并实现时…

使用CipherTrust透明加密勒索软件保护阻止勒索软件的传播

Thales实验室对十起勒索攻击的软件进行测试&#xff0c;效果理想。另外对于这些常见的勒索攻击方式也进行了大量模拟&#xff0c;都很好的进行了保护。 BleepingComputer.com上的文章涵盖了过去几个月(2024年1月至3月)最近的勒索软件攻击。本博客将展示&#xff0c;如果在这些受…

强固型工业电脑在码头智能闸口、OCR(箱号识别)、集装箱卡车车载电脑行业应用

集装箱卡车车载电脑应用 背景介绍 针对码头集装箱卡车的调度运用, 结合码头TOS系统设计出了各种平台的车载电脑(VT系列)和车载LED显示屏(VLD系列)&#xff0c;同时提供各种安装支架&#xff0c;把车载电脑固定到狭小的驾驶室中&#xff1b;同时提供了各种天线选择&#xff08;…

IEEE PDF eXpress Validating Pdf..之后Error in converting file

在将自己写好的pdf论文转化为IEEE出版的pdf论文格式的时候&#xff0c;错误如下图&#xff1a; 解决办法如下&#xff1a;失败之后&#xff0c;那里有一个选项按钮&#xff0c;叫做manual request&#xff0c;也就是人工转换&#xff0c;点那个申请就可以了&#xff0c;然后也挺…

PostCSS概述与指南:轻松应对浏览器兼容性与CSS优化!

PostCSS是一个用于处理CSS的工具&#xff0c;它可以让开发者使用最新的CSS特性&#xff0c;而不需要担心浏览器兼容性问题。PostCSS通过将CSS解析成抽象语法树&#xff08;AST&#xff09;&#xff0c;然后对AST进行操作&#xff0c;最后再生成新的CSS。这样&#xff0c;开发者…

Redis详解和Spring Data Redis应用

注意事项 如何快速进入命令行窗口什么是配置类 Redis简介 Redis是一个开源的使用ANSI C语言编写的、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库&#xff0c;并提供多种语言的API。它通常被称为数据结构服务器&#xff0c;因为值&#xff08;value&#xff09…

遇到you-get下载报错问题解决

pip3 install you-get安装这里就不赘述了&#xff0c;如果你还不会安装&#xff0c;说明这篇文章不适合你&#xff0c;这篇文章主要解决当执行you-get的报错&#xff1a; 当然你可以加选项–debug具体看一下到底报什么错。 第一步 替换文件 首先&#xff0c;我们下载仓库最新…

基于函数计算FC3.0 部署AI数字绘画stable-diffusion自定义模型

基于函数计算FC3.0 部署AI数字绘画stable-diffusion自定义模型 部署AI数字绘画stable-diffusion曲线救国授权github账号 部署ffmpeg-app-v3总结 在讲述了函数计算FC3.0和函数计算FC2.0的操作界面UI改版以及在函数管理、函数执行引擎、自定义域名、函数授权及弹性伸缩规则方面进…

java中的异常机制

异常原理分析 在我们编写一个代码的时候必然会出现这样那样的问题&#xff0c;这些问题可能是明显的&#xff0c;也有可能是不明显的。从理论上来说&#xff0c;一个程序员应当具备处理代码出现的大多数问题的能力&#xff0c;但是这并不意味着程序员要思考处理所有的代码问题。…

从零开始的vscode配置及安装rust教程

配置vscode的rust环境 下载安装vscodemac 环境1. 下载安装rust2. 配置 mac vscode环境3. 创建一个测试项目 windows 环境1. 安装c运行环境2. 安装配置rustup3. 配置windows vscode环境4. 创建一个测试项目 下载安装vscode 1.官网应用程序下载 vscode&#xff1a;https://code.v…

Mogdb 5.0新特性:SQL PATCH绑定执行计划

前言 熟悉Oracle的dba都知道&#xff0c;生产系统出现性能问题时&#xff0c;往往是SQL走错了执行计划&#xff0c;紧急情况下&#xff0c;无法及时修改应用代码&#xff0c;dba可以采用多种方式针对于某类SQL进行执行计划绑定&#xff0c;比如SQL Profile、SPM、SQL Plan Base…

Git多人协作开发

1、创建分支&#xff08;在码云上&#xff09; &#xff08;1&#xff09;在本地查看我们本地指向远程的分支&#xff1a;git branch -r &#xff08;2&#xff09;我们在码云上新建了个dev分支&#xff0c;我们将dev分支拉取到本地&#xff1a;git pull &#xff08;3&#…

2.1K Star微软开源的高质量 iot库

功能描述 该项目是一个开源的 .NET Core 实现&#xff0c;旨在帮助开发者构建适用于物联网(IoT)设备和场景的应用程序。它提供了与传感器、显示器和输入设备等相互作用所需的 GPIO 引脚、串口等硬件的接口。该仓库包含 System.Device.Gpio 库以及针对各种板卡&#xff08;如 Ra…

学习51单片机 C语言知识

一、数据类型 C 语言包含的数据类型如下图所示 C51 的数据类型分为基本数据类型和组合数据类型&#xff0c;情况与标准 C 中的数据类型基本相同&#xff0c;但其中 char 型与 short 型相同&#xff0c;float 型与 double 型相同&#xff0c;另外&#xff0c;C51 中还有专门针…

大多企业搞错了!TRIZ的培训不是目的,应用才是

近年来&#xff0c;企业对于员工的培训投入越来越大&#xff0c;尤其是在引入TRIZ等先进方法论方面。然而&#xff0c;许多企业在实施过程中却陷入了一个误区&#xff1a;将培训本身视为目的&#xff0c;而非将其应用于实际工作和问题解决中。天行健六西格玛培训公司解析如下&a…

【未完成】【QT+OpenCV】车牌号检测 学习记录 遇到的问题

【QTOpenCV】车牌号检测 学习记录 首先在QT里面配置好OpenCV .pro文件中加入&#xff1a; INCLUDEPATH G:/opencv/build/include LIBS -L"G:/opencv/build/x64/vc14/lib"\-lopencv_core \-lopencv_imgproc \-lopencv_highgui \-lopencv_ml \-lopencv_video \-lo.c…

Python 全栈安全(三)

原文&#xff1a;annas-archive.org/md5/712ab41a4ed6036d0e8214d788514d6b 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第十一章&#xff1a;OAuth 2 本章内容 注册 OAuth 客户端 请求对受保护资源的授权 授权而不暴露身份验证凭据 访问受保护的资源 OAuth …

Python 全栈安全(四)

原文&#xff1a;annas-archive.org/md5/712ab41a4ed6036d0e8214d788514d6b 译者&#xff1a;飞龙 协议&#xff1a;CC BY-NC-SA 4.0 第十五章&#xff1a;内容安全策略 本章涵盖 使用 fetch、navigation 和 document 指令编写内容安全策略 使用 django-csp 部署 CSP 使用报…

【C++】学习笔记——类和对象_3

文章目录 二、类和对象11. 析构函数&#xff08;补&#xff09;12. 拷贝构造函数13. 运算符重载 未完待续 二、类和对象 11. 析构函数&#xff08;补&#xff09; 析构函数并不是销毁对象&#xff0c;对象的销毁是由编译器完成的&#xff0c;析构函数的作用是清理&#xff0c…