首页 > 数据库技术 > 详细

oracle添加数据时主键自动增长

时间:2015-05-22 16:45:59      阅读:230      评论:0      收藏:0      [点我收藏+]

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添加数据时主键自动增长

原文:http://www.cnblogs.com/wenjie123/p/4522433.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!