zoukankan      html  css  js  c++  java
  • 更新oracle数据库表如何实现主键自增长

    

           在数据库中实现主键自动增长有利于我们做数据插入操作,在SQL SERVER上创建表时可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键。MySql中可以使用“auto_increment”即可。而oralce实现该效果需要使用序列配合触发器使用。

     

          下面是一个具体实例:

     

          1.创建数据库表:

    create table employee
    (
      EID      INTEGER,
      NAME     varchar2(10),
      SURNAME  varchar2(10),
      GENDER   varchar2(10),
      STATE    varchar2(10),
      BIRTHDAY date,
      HIREDATE date,
      DEPT     varchar2(10),
      SQLARY   INTEGER
    )
    ;

          2.创建序列:

    create sequence EID_AUTOINC
    minvalue 1
    maxvalue 9999
    start with 57
    increment by 1
    nocache;

          3.创建触发器:

    CREATE OR REPLACE TRIGGER employee_EID --触发器名称
      BEFORE INSERT ON employee    --EMPLOYEE是表名
      FOR EACH ROW
    DECLARE
       NEXTID NUMBER;
    BEGIN
      IF :NEW.EID IS NULL OR :NEW.EID=0 THEN --EID是列名
        SELECT EID_AUTOINC.nextval --EID_AUTOINC是刚才创建的序列
        INTO NEXTID
        FROM DUAL;
         :NEW.EID:=NEXTID;
      END IF;
    END employee_EID;

          4.插入数据测试:

    insert into employee
      ( name, surname, gender, state, birthday, hiredate, dept, sqlary)
    values
      ( 'm', 'f', 'f', 'QQHE', to_date('1986-08-01','yyyy-mm-dd'), to_date('2010/08/24','yyyy-mm-dd'), 'C-center', '3500');

          5.查询验证:

    select * from employee

     

     

     

     

     

     

     

     

     

  • 相关阅读:
    细菌 状态压缩
    素数
    骑士问题(knight)
    魔法石的诱惑
    平面上的最接近点对
    救援行动(save)
    优先队列
    leetcode 92. 反转链表 II
    leetcode 91. 解码方法
    leetcode 39. 组合总和
  • 原文地址:https://www.cnblogs.com/shiGuangShiYi/p/10117563.html
Copyright © 2011-2022 走看看