Oracle序列和视图

本文介绍了Oracle数据库中的序列和视图。对于序列,详细阐述了如何创建、使用、更改和删除,包括设置序列的起始值、递增步长、最大值和最小值等。在视图部分,讲解了创建视图的注意事项,如赋予用户权限,并展示了创建不同类型的视图,如带检查约束、使用ORDER BY、只读和链接视图的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Oracle序列和视图

序列

序列是按照一定规则提供连续数字的对象
序列可以是升序的,也可以是降序的

更简单的叙述,序列就是mysql和sql server中的自增

创建序列

使用CREATE SEQUENCE语句创建序列 从?开始

CREATE SEQUENCE 序列名 START  WITH 1;--序列从1开始

start with 1–从1开始,定义序列的初始值(即产生的第一个值),默认为1

  1. increment by 1 --每次递增1,如果省略,则默认为1,如果出现负值,序列的值是按照步长递减的。
  2. MAXVALUE 2000 --最大2000,定义序列生成器能产生的最大值。选项NOMAXVALUE是默认选项,代表没有最大值定义,这时系统能够产生的最大值是10的27次方,递减序列最大值是-1。
  3. MINVALUE 10 --最小10,MINVALUE定义序列生成器能产生的最小值。选项NOMAXVALUE是默认选项,代表没有最小值定义,这时递减序列系统能够产生的最小值是10的26次方;对于递增序列最小值是1。
  4. NOCYCLE --表示当序列生成器的值达到限制值后是否循环。CYCLE代表循环,NOCYCLE代表不循环
  5. CACHE --定义存放序列的内存块的大小,默认为20。NOCACHE表示不对序列进行内存缓冲。:对序列进行内存缓冲,可以改善序列性能。
  6. NEXTVAL --序列中下一个有效的值
  7. CURRVAL --当前值
通过序列的伪列来访问序列的值
SELECT sext_id.NEXTVAL FROM dual;--查询下一个值
SELECT sext_id.CURRVAL FROM dual;--查询当前值
序列的使用
INSERT INTO 表名 VALUES (序列名.nextval,name,age);
更改序列

将序列的步长改为3

 ALTER SEQUENCE 序列名 increment by 3;
删除序列
  DROP SEQUENCE 序列名;

视图

在创建视图的时候一定要赋给用户权限
视图以经过定制的方式显示来自一个或多个表的数据
视图可以视为'虚拟表'或'存储的查询'
创建视图所依据的表称为'基表'
视图的优点有
    --提供了另外一种级别的表安全性
    --隐藏的数据的复杂性
    --简化的用户的SQL命令
    --隔离基表结构的改变
    --通过重命名列,另一个角度提供数据
创建视图

视图简单的来说:就是把一张表或多张表查询一边,然后保存起来,以后直接查询视图,不用在查多张表了。

  CREATE VIEW 视图名 AS SELECT * from 表名;
创建带检查约束的视图
 使用WITH CHECK OPTION 选项创建视图,当通过试图对底层表进行的 insert ,update 操作必须保证操作结果也在视图中,不允许操作后使视图中的数据减少
  CREATE VIEW 视图名 AS SELECT * from 表名 WITH CHECK OPTION 
使用ORDER BY 子句创建视图
  CREATE VIEW 视图名 AS SELECT * from 表名 ORDER BY 字段名;
创建只读视图,该视图只可用于查询
  CREATE VIEW 视图名 AS SELECT * from 表名 WITH READ ONLY;
创建链接视图
 创建链接视图,注意:主键表中的列不能修改,主键表称为建保留表是指基于多个表所创建的视图,即定义视图的查询是一个连接查询。     
 主要目的是为了简化连接查询;
 更新基表,视图也发生相应的更改
create view 视图名 as 两表联合查询;   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值