当前位置:网站首页>Oracle -- 视图与序列
Oracle -- 视图与序列
2022-07-06 22:12:00 【攀登程序猿】
视图定义
是从一个或者多个数据表中导出的虚表(虚拟表),视图所对应的数据并不真正的存储在数据库中,比如将一个查询的结果定义为视图,则直接查询视图即可
优点:
(1)简化数据的操作:视图可以简化用户处理数据的方式
(2)着重与特定数据:不必要的数据或敏感数据可以不出现在视图中
(3)安全机制,不同的用户对数据访问权限不一样
(4)提供向后监控性,表改变,视图可以不变
视图操作
特点:
(1)视图不会实际存储,当视图允许修改时,修改视图中的数据,则表中的数据也被修改
(2)只读视图不允许修改数据
(3)带约束的视图
(4)多表关联也可以修改数据,基表的数据会跟随修改
create VIEW classstudent AS SELECT * FROM TBL_STUDENTS
// or replace是视图存在时,替换成新的,with check option是带检查约束的视图
create OR REPLACE VIEW classstudent AS SELECT * FROM TBL_STUDENTS WITH CHECK OPTION
// 创建只读视图
create OR REPLACE VIEW classstudent AS SELECT * FROM TBL_STUDENTS WITH READ ONLY
// 强制视图,即表不存在时创建的视图,用于动态生成表的场景
CREATE force VIEW view_test as SELECT * from tbl_test
// 复杂视图 多表查询,允许修改数据,会键保留表
CREATE VIEW view_student_class AS
SELECT * FROM TBL_STUDENTS JOIN TBL_CLASSES ON TBL_STUDENTS.STU_CID = TBL_CLASSES.CLASS_ID
// 聚合视图,聚合函数必须有列名
CREATE VIEW view_student as
SELECT COUNT(*) as count,STU_AGE as age FROM TBL_STUDENTS GROUP BY STU_AGE
注:
(1)键保留表,对于可更新的视图,在视图中的行和基表中的行之间必须具有一对一的关系,因为这样才能够反向映射到原基础表
(2)聚合函数做视图必须有列名
(3)聚合函数的视图无法修改
物化视图
物化视图是将查询的结果建立副本,占用存储空间,查询效率会高,但是会占用空间,未解决权限问题,后续学习。
更新方式:
COMPLETE 完全更新
FAST 增量更新,根据基表的更新日志,判断视图是否需要更新
ON COMMIT是在基表变化时刷新物化视图
ON COMMON是手动刷新
BUILD IMMEDIATE 创建视图时生成数据
ORA-01031: insufficient privileges
序列
创建一系列数字,mysql的主键自增是直接写的,oracle是需要创建序列的
--创建简单序列
CREATE sequence seq1;
--查询序列的下一个值,执行一次递增一个
SELECT seq1.NEXTval from dual;
--查询序列的当前值
select seq1.currval from dual;
CREATE sequence seq_withMax
maxvalue 20; --创建带有最大值的
SELECT seq_withMax.nextval FROM dual; -- 从一开始,每次递增1,最大到20
-- 跳跃的序列
CREATE sequence seq3
INCREMENT BY 2 -- 默认是1
START WITH 1000 --递增默认是MaxValue,递减是minvalue
maxvalue 1002
minvalue 100
cycle --是否循环 nocycle
cache 10; -- 每次放到内存中10个值,默认使用cache 20,不使用cache时配置为nocache,磁盘中保存到10了,缓存到20了,此时重启服务会从21开始,造成断号,有缓存必须小于一次的循环,即cache默认20*INCREMENT by = 200个,得比cache是10,小于200
select seq3.nextval from dual; -- 从1000开始,每次递增2,到1002后,重新从100开始
CREATE sequence seq4
INCREMENT BY -2
START WITH 1000
maxvalue 1001;
SELECT seq4.nextval FROM dual; -- 从1000开始,每次递减2
alter sequenct可以修改序列,不能修改start with
边栏推荐
- 【自动化经验谈】自动化测试成长之路
- Golang calculates constellations and signs based on birthdays
- SSM+JSP实现企业管理系统(OA管理系统源码+数据库+文档+PPT)
- 数学分析_笔记_第10章:含参变量积分
- How to solve the problem of adding RTSP device to easycvr cluster version and prompting server ID error?
- Station B boss used my world to create convolutional neural network, Lecun forwarding! Burst the liver for 6 months, playing more than one million
- 機器人(自動化)課程的持續學習-2022-
- How do test / development programmers get promoted? From nothing, from thin to thick
- Zhou Yajin, a top safety scholar of Zhejiang University, is a curiosity driven activist
- 树与图的深度优先遍历模版原理
猜你喜欢
科兴与香港大学临床试验中心研究团队和香港港怡医院合作,在中国香港启动奥密克戎特异性灭活疫苗加强剂临床试验
Dab-detr: dynamic anchor boxes are better queries for Detr translation
EasyCVR集群重启导致其他服务器设备通道状态离线情况的优化
各路行业大佬称赞的跨架构开发“神器”,你get同款了吗?
How do test / development programmers get promoted? From nothing, from thin to thick
1.19.11. SQL client, start SQL client, execute SQL query, environment configuration file, restart policy, user-defined functions, constructor parameters
计数排序基础思路
[coded font series] opendyslexic font
Hardware development notes (10): basic process of hardware development, making a USB to RS232 module (9): create ch340g/max232 package library sop-16 and associate principle primitive devices
Break the memory wall with CPU scheme? Learn from PayPal to expand the capacity of aoteng, and the volume of missed fraud transactions can be reduced to 1/30
随机推荐
【实践出真理】import和require的引入方式真的和网上说的一样吗
[knife-4j quickly build swagger]
一度辍学的数学差生,获得今年菲尔兹奖
Win11远程桌面连接怎么打开?Win11远程桌面连接的五种方法
acwing 843. n-皇后问题
The easycvr platform is connected to the RTMP protocol, and the interface call prompts how to solve the error of obtaining video recording?
Thesis landing strategy | how to get started quickly in academic thesis writing
食堂用户菜品关系系统(C语言课设)
VIM - own active button indent this command "suggestions collection"
《原动力 x 云原生正发声 降本增效大讲堂》第三讲——Kubernetes 集群利用率提升实践
浙江大学周亚金:“又破又立”的顶尖安全学者,好奇心驱动的行动派
機器人(自動化)課程的持續學習-2022-
Kivy tutorial of setting the size and background of the form (tutorial includes source code)
深耕开发者生态,加速AI产业创新发展 英特尔携众多合作伙伴共聚
You can't sell the used lithography machine to China! The United States unreasonably pressured the Dutch ASML, and domestic chips were suppressed again
【ArcGIS教程】专题图制作-人口密度分布图——人口密度分析
两个div在同一行,两个div不换行「建议收藏」
What if win11 pictures cannot be opened? Repair method of win11 unable to open pictures
JS form get form & get form elements
组织实战攻防演练的5个阶段