`
hm4123660
  • 浏览: 282416 次
  • 性别: Icon_minigender_1
  • 来自: 广州
博客专栏
Dea4ce76-f328-3ab2-b24a-fb268e1eeb75
数据结构
浏览量:69994
社区版块
存档分类
最新评论

oracle11g自增主键

阅读更多

oracle的自增主键需要用序列和触发器来实现,

我们首先创建一张表:主键为int,实现自增


createtableTEST

 

(

 

  ID intPRIMARYKEY,

 

  test1 varchar2(20),

 

  test2 varchar2(20),

 

  test3 varchar2(20)

)

 

 

创建一个序列:


create sequence SEQ_TEST

 

minvalue 1    --最小值

 

maxvalue 999999999999999999999999999 --最大值

 

start with 1 ---1开始

 

increment by 1 ---每次加1

 

nocycle        --一直累加,不循环

       nocache;

 

 

创建一个触发器实现数据插入时主键自增:

 


CREATE OR REPLACE TRIGGER tg_test

 

//test表名,id主键名,seq_test.nextval序列

 

BEFORE INSERT ON test

FOR EACH ROW WHEN (new.id is null)

 

     begin

 select seq_test.nextval into:new.id from dual;

 

end;

 

 

可以看出当插入数据主键为空时,会使用序列产生自增主键

 

//------------------触发器样式

 

CREATE OR REPLACE TRIGGER TRI_SCORE

 

BEFORE INSERT OR UPDATE ON XUANKE

 

FOR EACH ROW

 

BEGIN

 

//如果score为空,则令score=0

 

  IF :new.SCORE IS NULL THEN :new.SCORE:= 0;

 

    END IF;

 

END;

 

 

 

分享到:
评论

相关推荐

    ORACLE自增主键设置方法

    在Oracle数据库中,自增主键是一种常见的主键设计方式,它能够确保每条记录的唯一性,并且在插入新记录时自动递增,简化了数据管理流程。本文将详细介绍如何在Oracle中设置自增主键。 #### 一、创建序列(Sequence...

    powerdesigner创建oracle_数据库表,设置表主键列为自动增长

    ### PowerDesigner 创建 Oracle 数据库表并设置主键自动增长 #### 一、PowerDesigner与Oracle数据库集成概述 PowerDesigner是一款强大的数据库设计工具,它能够帮助开发者进行数据建模、概念设计以及物理数据库的...

    oracle设置主外键即主键序列自动增长

    ### Oracle 设置主外键及主键序列自动增长 在Oracle数据库管理系统中,为了确保数据的一致性和完整性,经常需要设置主键(Primary Key)和外键(Foreign Key)。此外,为了方便管理和操作,通常还会使用序列...

    Oracle 11g的安装PDF

    Oracle 11g是甲骨文公司推出的一款功能强大的关系型数据库管理系统,作为数据库管理的行业标准,它在性能、可伸缩性、可扩展性和安全性方面都有很高的水平。此份文档旨在为读者提供Oracle 11g数据库的安装指南,以...

    Oracle中创建表,创建序列,创建自增字段,添加注释, 添加记录,添加触发器,提交

    Oracle 中创建表、序列、自增字段、添加注释、添加记录、添加触发器、提交的知识点总结 Oracle 中创建表是指在 Oracle 数据库中创建一个新的表结构,以存储特定的数据。在创建表时,需要指定表的名称、字段名称、...

    Oracle11g数据库基础教程(第二版)张凤荔实验4.doc

    2. **创建序列**:序列是Oracle数据库中用于生成唯一整数的工具,常用于自增主键。实验中创建序列的SQL语句如下: ```sql CREATE SEQUENCE EMP_S MINVALUE 1 NOMAXVALUE START WITH 1 INCREMENT BY 1 NOCYCLE ...

    基于django2.2连oracle11g解决版本冲突的问题

    本文将探讨如何解决这种版本冲突,无需升级Oracle数据库到更高版本,而是通过一系列步骤使Django 2.2能够与Oracle 11g顺利协作。 首先,问题的根源在于Django 2.2可能使用了Oracle 12c特有的语法,如自增序列...

    Oracle11gOCP-051干货笔记

    Oracle 11g OCP-051 是针对Oracle数据库管理员认证的一项考试,涵盖了SQL语言基础、用户及数据库对象以及SQL语言的扩展等多个方面。以下是对这些知识点的详细阐述: **第一部分:SQL语言基础** 1. **Oracle命令...

    Oracle10g数据库应用教程 第07章 数据库对象管理.ppt

    序列是自增的数字序列,常用于生成主键的唯一值。创建序列: ```sql CREATE SEQUENCE sequence_name START WITH value INCREMENT BY increment; ``` 获取序列的下一个值: ```sql SELECT sequence_name.NEXTVAL FROM...

    Oracle第9章模式对象.pptx

    序列用于生成唯一的整数序列,常用于自增主键。同义词允许为对象创建别名,简化对象引用,特别是在多用户环境中。数据库链接则允许在不同的数据库之间进行通信,实现跨数据库的操作。 本章的学习目标是掌握表和索引...

    oracle数据库应用与开发.docx

    #### 专题一:Oracle入门 - **教学目标**: - **了解Oracle10g的安装和卸载**:学习如何在不同的操作系统(如Windows、Linux等)上安装和配置Oracle 10g,并了解卸载过程。 - **学会配置Oracle客户端**:通过...

    Oracle数据库案例教程_教师用书

    - **使用序列实现自增主键**:掌握序列的创建和使用,学会如何利用序列自动为表中的记录生成唯一的自增主键。 - **使用视图**:学会创建和使用视图,理解视图在数据抽象和简化查询中的作用。 - **使用索引加快表的...

    oracle学习笔记

    - **序列(Sequence)**:自动生成连续整数,常用于自增主键。 - **索引(Index)**:提高查询速度,类似于图书的目录。 - **锁(Lock)**:用于并发控制,确保数据的一致性和完整性。 #### 第六章:PL/SQL编程 - ...

    oracle数据库应用与开发讲义

    2. **掌握序列的使用**:学习如何利用序列自动增长特性实现自增主键。 3. **掌握视图的创建和使用**:学习如何创建视图以简化复杂查询,并了解视图的更新机制。 4. **理解索引的工作原理**:学习如何创建和管理索引...

    BLOG_【故障处理】Oracle_lhr_序列cache值过小导致CPU利用率过高.pdf

    在Oracle数据库中,序列(Sequence)是一种用来生成连续整数的对象,常常用于自增主键。然而,序列在使用过程中可能会遇到性能问题,尤其是在高并发环境下。本文档详细介绍了由于序列cache值设置不当导致CPU利用率过...

    hibernate连接Orcale

    本文将详细介绍如何使用Hibernate连接Oracle 11g Release 2(11R2)数据库。 首先,要实现Hibernate与Oracle的连接,我们需要完成以下几个步骤: 1. **环境准备**:确保已安装JDK、Oracle 11g数据库以及相应的...

Global site tag (gtag.js) - Google Analytics