IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> Oracle索引、触发器及序列相关 -> 正文阅读

[大数据]Oracle索引、触发器及序列相关

Oracle索引

  1. 普通索引:

CREATE INDEX 索引名 ON 表名(列名);

  1. 复合索引:

CREATE INDEX 索引名 ON 表名(列名1, 列名2, 列名3, ...);

  1. 唯一索引(复合唯一索引):

create unique index 唯一索引名 on 表名(字段1,字段2..);

  1. 删除索引:

drop index 索引名;

  1. 查询索引:

—根据索引名,查询表索引字段
select * from user_ind_columns where index_name='索引名';

—根据表名,查询一张表的索引
select * from user_indexes where table_name='表名';

Oracle触发器

语法:

create [or replace] trigger trigger_name --触发器名称
instead of trigger_event --触发事件
on view_name --视图名称
for each row --替代触发器必须指定为行级的触发器
[when trigger_condition] --触发条件
trigger_body --触发体,PL/SQL块

exp:

创建触发器:实现id的隐式自增
create or replace trigger tri_match_diff
before insert on T_MATCH_DIFF_RESULT
for each row
declare
next_id number;
begin
select seq_match_diff_result_id.nextval into next_id from dual;
:new.id :=next_id;
end;

Oracle序列

  • 创建序列

和mysql中使用auto_increment不同,oracle中使用序列来实现主键自增,使用序列前必须要先创建一个序列:

create sequence seq_sale_id序列名称
increment by 1 每次增长多少
start with 1 从几开始
minvalue 1 最小值
maxvalue 999999999 最大值
cycle/no cycle 序列到达最大值之后怎么办,一般去cycle
cache 20 需要不需要使用缓存,就是一次生成多少个序列的值,如果生成了多个序列值,如果缓存中有数据, 就不需要查询缓存了
order/noorder 获取序列的时候是否按顺序给值。如果多用户一起获取序列的值,使用order可以保证序列值的顺序按访问序列的事件排序

exp:

create sequence seq_name
increment by 1
start with 1
minvalue 1
maxvalue 9999999
cache 20
cycle;

  • 序列相关使用

使用序列获取序列的下一个值:

select seq_name.nextval from dual

获取序列的当前值:

select seq_name.currval from dual

插入数据时

insert into table(id,name) values(seq_name.nextval,'test')

删除序列

dorp sequence [用户名.]seq_name

修改序列

alert sequence seq_name increment by 10 nomaxvalue nocycle cache 10
修改序列只能修改这几个值,不能修改初始值

查看序列

查看当前用户下的所有序列:
select * from user_sequences
查看所有用户下的所有序列:
select * from all_sequences
select * from dba_sequences

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-09-13 11:22:42  更:2022-09-13 11:24:45 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 10:47:59-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码