Oracle建表与创建序列详细实例

 更新时间:2023年06月10日 11:54:08   作者:雷神乐乐  
在oracle中sequence就是所谓的序列号,每次取的时候它会自动增长,通常用在须要按序列号排序的地方,下面这篇文章主要给大家介绍了关于Oracle建表与创建序列的相关资料,需要的朋友可以参考下

一、简单建表

CREATE TABLE teacher1
(
    id   number,
    name varchar2(32),
    primary key (id)
);
 
select * from teacher1;
 
-- 插入数据
insert into teacher1(id, name) VALUES (7, 'zhangsan');
 
-- 插入数据后确认无误一定要提交,否则不会保存
commit ;
 
-- 修改表名
alter table teacher rename to teacher1;
 
-- 删除表
drop table teacher1;
 
-- 提交事务
commit;

二、查看表结构(在Xshell中输入才能够执行)

desc 表名

三、设置自增序列

序列是 Oracle 提供的用于产生一系列 唯一数字 的数据库对象。

(一)普通自增序列

1.创建序列,oracle中没有自增,创建序列相当于等差数列自增

通过序列的伪列访问序列值说明
NEXTVAL返回序列的下一个值
CURRVAL返回序列的当前值

注意:在刚建立序列后,无法提取当前值,只有先提取下一个值时才能再次提取当前值。
ORA-08002: sequence SEQ_TEST.CURRVAL is not yet defined in this session 

创建默认序列规则是从1开始,每次+1

-- 创建序列名称
create sequence teacher_seq;
 
-- 提取下一个值
select teacher_seq.nextval from DUAL;
 
-- 提取当前值
select teacher_seq.currval from DUAL;

2.删除序列

drop sequence 序列名;

3.建表的同时设置主键自增的步骤

-- 先创建表
create table teacher(
    id number,
    name varchar2(32),
    pwd varchar2(32),
    primary key (id)
);
 
-- 再创建序列
create sequence teacher_seq;
 
-- 插入三条数据,将主键id设置为序列的下一个值,这个就相当于自增
insert into teacher values (teacher_seq.nextval,'zs','123');
insert into teacher values (teacher_seq.nextval, 'lx', '456');
insert into teacher(id, name, pwd) values (teacher_seq.nextval, 'ww', '123');
 
-- 插入数据后确认无误一定要提交,否则不会保存
commit ;
 
select * from teacher;

(二)复杂序列

1.复杂序列模板

-- 创建序列名称
CREATE SEQUENCE 'sequence_name'
-- 递增`n`的序列(默认:`1`)
-- 如果`n`是正数就递增
-- 如果`n`是负数就递减
[INCREMENT BY 'n']
-- 开始值(递增默认是`minvalue`,递减默认是`maxvalue`)
[START WITH 'n'] 
-- 最大值
[{MAXVALUE 'n' | NOMAXVALUE}]
-- 最小值
[{MINVALUE 'n' | NOMINVALUE}]
-- 循环 | 不循环(默认:`NOCYCLE`)
[{CYCLE | 'NOCYCLE'}] 
-- 分配并存入到内存中(默认:`CACHE`)
[{'CACHE' 'n' | NOCACHE}]; 

2.复杂序列案例

-- 创建序列规则是:从100开始,每次+1
create sequence teacher_seq2 start with 100;
select teacher_seq2.nextval from DUAL;
 
-- 创建序列规则是:从5开始到100,超出最大值后无法创建
create sequence teacher_seq3 minvalue 5 maxvalue 100;
select teacher_seq3.nextval from DUAL;
 
-- 创建序列规则是:从1开始,步长为3的方式递增
create sequence teacher_seq4 increment by 3;
select teacher_seq4.nextval from DUAL;
 
-- 创建复杂序列
create sequence teacher_seq5  increment by 4 start with -2 minvalue -2 maxvalue 10;
select teacher_seq5.nextval from DUAL;
 
-- 删除其中一个序列
drop sequence teacher_seq5;

四、修改表中的数据

update teacher set pwd='123456' where id = 2;
update teacher set pwd='654321',name='lss' where id = 3;

总结

到此这篇关于Oracle建表与创建序列的文章就介绍到这了,更多相关Oracle建表与创建序列内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Oracle数据库密码重置、导入导出库命令示例应用

    Oracle数据库密码重置、导入导出库命令示例应用

    本节主要介绍了Oracle数据库密码重置、导入导出库命令的基本使用,有需要的朋友可以学习下
    2014-07-07
  • Oracle 11g 新特性 Flashback Data Archive 使用实例

    Oracle 11g 新特性 Flashback Data Archive 使用实例

    这篇文章主要介绍了Oracle 11g 新特性 Flashback Data Archive 使用实例,Flashback Data Archive 的主要作用是在它的有效期内将保存事务改变的信息,需要的朋友可以参考下
    2014-07-07
  • Oracle自动备份及自动备份步骤

    Oracle自动备份及自动备份步骤

    这篇文章主要介绍了Oracle自动备份及自动备份步骤的相关资料,需要的朋友可以参考下
    2016-02-02
  • oracle创建用户过程详解

    oracle创建用户过程详解

    这篇文章主要介绍了oracle创建用户过程详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-08-08
  • Oracle 闪回 找回数据的实现方法

    Oracle 闪回 找回数据的实现方法

    闪回技术是Oracle强大数据库备份恢复机制的一部分,在数据库发生逻辑错误的时候,闪回技术能提供快速且最小损失的恢复。这篇文章主要介绍了Oracle 闪回 找回数据的实现方法,需要的朋友可以参考下
    2018-09-09
  • Oracle如何查询表索引和索引字段

    Oracle如何查询表索引和索引字段

    这篇文章主要介绍了Oracle如何查询表索引和索引字段问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-07-07
  • 详解Oracle控制文件及日志文件的管理问题

    详解Oracle控制文件及日志文件的管理问题

    控制文件是oracle的物理文件之一,每个oracle数据库都必须至少有一个控制文件,它记录了数据库的名字、数据文件的位置等信息,这篇文章主要介绍了Oracle控制文件及日志文件的管理,需要的朋友可以参考下
    2022-07-07
  • Oracle数据库事务的开启与结束详解

    Oracle数据库事务的开启与结束详解

    事务是一个整体,这些操作要么全部执行成功,要么全部不执行,下面这篇文章主要给大家介绍了关于Oracle数据库事务的开启与结束的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2022-06-06
  • oracle查看执行最慢与查询次数最多的sql语句

    oracle查看执行最慢与查询次数最多的sql语句

    这篇文章主要给大家介绍了oracle查看执行最慢与查询次数最多的sql语句,文中给出完整的示例代码,相信对大家的学习或者工作具有一定的参考价值,有需要的朋友们下面来一起看看吧。
    2017-01-01
  • ORA-00349|激活 ADG 备库时遇到的问题及处理方法

    ORA-00349|激活 ADG 备库时遇到的问题及处理方法

    这篇文章主要介绍了ORA-00349|激活 ADG 备库时遇到的问题及处理方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-03-03

最新评论