Oracle 创建主键自增表示例代码

 更新时间:2016年10月18日 15:23:28   作者:pursuer.chen  
我们经常在设计数据库的时候用一个系统自动分配的ID来作为我们的主键,但是在Oracle没有自增主键的设置,我们可以通过这篇文章介绍的方法实现,有需要的朋友们可以参考借鉴,下面来一起看看吧。

前言

本篇文章给大家主要介绍的是在oracle中如果创建自增长表的方法,这里要用到序列。下面话不多说,我们来看示例代码。

示例代码

create table tb_student
(
  id         NUMBER(10)      not null,
  createtime     DATE         not null,
  constraint PK_tb_student primary key (id)
);

comment on table "tb_student" is
'学生表';

comment on column "tb_student"."id" is
'主键id';

comment on column "tb_student"."createtime" is
'创建时间';


--创建序列
create sequence seq_tb_student
minvalue 1
nomaxvalue
start with 1
increment by 1
nocycle  --一直累加,不循环
nocache; 


--创建触发器,如果insert语句不指定ID自动插入增长值
CREATE OR REPLACE TRIGGER tr_tb_student 
BEFORE INSERT ON tb_student FOR EACH ROW WHEN (new.id is null)
begin
select seq_tb_student.nextval into:new.id from dual;
end;

注意:触发器是非必须的,可以从业务上严格要求指定插入值。

注意oracle限制对象名的字符长度不能超过30个字符,所以表名要控制在一定的长度否则后面创建序列可能会超过限制,建议表名控制在27个字符以下。

总结

以上就是Oracle创建主键自增表的全部内容,希望本文的内容对大家的学习或者使用Oracle带来一定的帮助,如果有疑问大家可以留言交流,小编会尽快给大家回复的。

相关文章

  • Oracle中Like与Instr模糊查询性能大比拼

    Oracle中Like与Instr模糊查询性能大比拼

    本文通过实例代码给大家介绍了Oracle中Like与Instr模糊查询性能对比,需要的朋友参考下吧
    2017-05-05
  • Oracle导出文本文件的三种方法(spool,UTL_FILE,sqluldr2)

    Oracle导出文本文件的三种方法(spool,UTL_FILE,sqluldr2)

    这篇文章主要介绍了Oracle导出文本文件的三种方法(spool,UTL_FILE,sqluldr2),需要的朋友可以参考下
    2023-05-05
  • 如何解决Oracle数据表入库中文乱码问题

    如何解决Oracle数据表入库中文乱码问题

    Oracle数据库在处理中文数据时,经常会遇到乱码问题,导致数据无法正常显示和处理,这是因为Oracle数据库默认的字符集为US7ASCII,无法识别中文字符,通过修改数据库,客户端和应用程序字符集,将数据转换为正确的字符集,可以避免乱码问题
    2024-02-02
  • Oracle数据库表空间满了的问题处理方法

    Oracle数据库表空间满了的问题处理方法

    在Oracle数据库管理中,表空间是一个重要的概念,用于存储数据库对象和数据,当表空间满了时,可能会导致数据库的运行受到影响,本文将介绍如何诊断和处理 Oracle 数据库中表空间满的问题,并给出相应的 SQL 命令,需要的朋友可以参考下
    2024-03-03
  • Oracle库恢复删除数据的方法小结

    Oracle库恢复删除数据的方法小结

    误删 Oracle 库中的数据,在不考虑全库备份和利用归档日志情况,如何恢复数据呢,这篇文章将给大家介绍几种方法恢复数据,文章通过代码示例给大家介绍的非常详细,需要的朋友可以参考下
    2023-12-12
  • Oracle备库宕机启动的完美解决方案

    Oracle备库宕机启动的完美解决方案

    这篇文章主要给大家介绍了关于Oracle备库宕机启动的完美解决方案,文中通过示例代码介绍的非常详细,对大家学习或者使用Oracle具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • Oracle数据库中lead和lag函数用法示例

    Oracle数据库中lead和lag函数用法示例

    lag与lead函数是跟偏移量相关的两个分析函数,通过这两个函数可以在一次查询中取出同一字段的前N行的数据(lag)和后N行的数据(lead)作为独立的列,这篇文章主要给大家介绍了关于Oracle数据库中lead和lag函数用法的相关资料,需要的朋友可以参考下
    2024-06-06
  • Oracle 23ai中重要新特性VECTOR数据类型的使用

    Oracle 23ai中重要新特性VECTOR数据类型的使用

    Oracle 23ai 中的 VECTOR 数据类型是 Oracle 数据库在 AI 领域的一个重要新特性,它允许用户以向量的形式存储数据,并在这些向量的基础上进行高效的搜索和分析,下面就来介绍一下如何使用
    2024-08-08
  • 教你设计大型Oracle数据库

    教你设计大型Oracle数据库

    表及索引的存储容量估算是根据其记录长度及估算的最大记录数确定的。在容量计算中考虑了数据块的头开销及记录和字段的头开销等等。表及索引的initial和next存储参数一般设为相等,pctincrease设为0。
    2009-06-06
  • Oracle 11g服务器与客户端卸载、安装全过程

    Oracle 11g服务器与客户端卸载、安装全过程

    Oracle 11g服务器与客户端的完全卸载方式与前些版本有了改变,下面是具体的操作过程,感兴趣的朋友可以参考下哈
    2013-06-06

最新评论