CREATE TABLE STUDENT( --创建学生表
  ID NUMBER(10) PRIMARY KEY,   --主键ID
  SNAME VARCHAR2(20),

);

此时给学生表添加数据时 必须指定id

INSERT INTO STUDENT VALUES(1,'Tom');

下面用触发器和序列结合使得添加数据时id自动增长 不要指定了

--创建序列
CREATE SEQUENCE SEQ_STU
INCREMENT BY 1  ID每次自增几
START WITH 1 ID从几开始自增

MAXVALUE 99999 ID的最大值
MINVALUE 1; ID的最小值

--创建触发器  添加数据的时候id自增
CREATE OR REPLACE TRIGGER TIGGER_STU
BEFORE
  INSERT ON STUDENT
  FOR EACH ROW
  WHEN(NEW.ID IS NULL)
BEGIN
    SELECT SEQ_STU.NEXTVAL INTO:NEW.ID FROM DUAL;
END;

触发器创建好之后就可以这样添加数据了

INSERT INTO STUDENT VALUES(null,'Tom');

ID可以为空  添加到数据库时  oracle会自动调用该触发器  更具序列  往后自增

oracle添加数据时主键自动增长的更多相关文章

  1. oracle 主键自动增长

    oracle 主键自动增长 2009-12-11 16:07:00|  分类: 数据库资料|字号 订阅     这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create tabl ...

  2. mybatis+oracle添加一条数据并返回所添加数据的主键问题

    最近做mybatis+oracle项目的时候解决添加一条数据并返回所添加数据的主键问题 controller层 @RequestMapping("/addplan") public ...

  3. sql server小技巧-自动添加时间与主键自增长

    在敲机房收费系统的时候,遇到添加时间的时候总是通过vb端调用当前时间再添到sql server中,期间还有时因为添加时间格式的不统一导致一些小问题,现在才知道原来是自己孤陋寡闻,sql server ...

  4. PowerDesigner 15设置mysql主键自动增长及基数

    PowerDesigner 15设置mysql主键自动增长及基数 1.双击标示图,打开table properties->columns,  如图点击图标Customize Columns an ...

  5. Mysql,SqlServer,Oracle主键自动增长的设置

    1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: )); insert into customers ...

  6. Mysql,SqlServer,Oracle主键自动增长的设置

    在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: CREATE TABLE google(id INT AUTO_INCREMENT PRIMARY ...

  7. mysql——主键自动增长&唯一索引

    首先说一下主键和唯一索引的区别 主键:一个数据库的一张表有且仅有一个主键,而且主键不能重复 唯一索引:一个数据库的一张表上唯一索引可以有多个,只是所在唯一索引上的值不能重复,这一点和主键一样 下面我们 ...

  8. Oracle建表时主键自增

    1.创建表 /*第一步:创建表格*/ create table t_user( id int primary key, --主键,自增长 username ), password ), type ) ...

  9. SQLite设置主键自动增长及插入语法

    SQLite中,一个自增长字段定义为INTEGER PRIMARY KEY AUTOINCREMENT,那么在插入一个新数据时,只需要将这个字段的值指定为NULL,即可由引擎自动设定其值,引擎会设定为 ...

随机推荐

  1. Quartz1.8.5例子(一)

    /* * Copyright 2005 - 2009 Terracotta, Inc. * * Licensed under the Apache License, Version 2.0 (the ...

  2. Junit4拓展工具JCategory与Testng的Group功能比较

    前言 笔者前段时间分享过一遍文章,关于如何通过引入新注解来扩展Junit4,以解决Process上的问题: JUnit扩展:引入新注解Annotation 最近在跟外面的同事聊的时候,得知Testng ...

  3. 从零开始学习MySQL1---MySQL基础

    数据库基础 数据库是一个长期存储在计算机内的.有组织的.有共享的.统一管理的.数据集合.它是一个按数据结构来存储和管理数据的计算机软件系统.数据库包含两层含义:保管数据的仓库,以及数据管理的方法和技术 ...

  4. C#入门教程笔记

    1.C# string api Substring(),//截取字符串,接受两个参数,第一个是偏移量,第二个是截取长度 replace(),//替换字符串,接受两个参数,第一个指定被替换的字符串,第二 ...

  5. Contest20140906 ProblemA dp+线段树优化

    Problem A 内存限制 256MB 时间限制 5S 程序文件名 A.pas/A.c/A.cpp 输入文件 A.in 输出文件 A.out 你有一片荒地,为了方便讨论,我们将这片荒地看成一条直线, ...

  6. IndexedDB demo showcase

    var dbGlobals = new Object(); dbGlobals.db = null; dbGlobals.description = "This database is us ...

  7. js页面传参数时,参数值包含特殊字符的处理

    js页面传参数时,参数值包含特殊字符应该怎么处理,解决方法就是利用js的escape函数,这个函数在解决中文乱码等方面应用的比较广泛.推荐使用. 工作中遇到的小问题,一个页面中通过window.sho ...

  8. 【Better Code】面向切面编程

    用AOP改善JavaScript代码http://www.w3cfuns.com/thread-5597323-1-1.html

  9. 使用LoadRunner对Web Services进行调用--Import Soap

    利用LoadRunner对Web Services进行测试时,通常有三种可供采用的方法: 在LoadRunner的Web Services虚拟用户协议中,[Add Service Call] 在Loa ...

  10. java jdbc使用配置文件连接数据库:

    java jdbc使用配置文件连接数据库: 创建后缀名为:.properties的文件,文件内容包括,数据库驱动.连接的数据库地址.用户名.密码…… 以Mysql为例创建config.properti ...