zoukankan      html  css  js  c++  java
  • oracle设置主键自增

    第一步:

    DROP sequence 序列名;-- 删除以前的序列,以前没有的话不需要删除
    CREATE sequence 序列名 minvalue 1 MAXVALUE 99999999 increment BY 1 START WITH 1;

    第二步:

    DROP TRIGGER 触发器名;-- 删除触发器名,以前没有的话不需要删除
    CREATE 
        OR REPLACE TRIGGER 触发器名 BEFORE INSERT ON 表名 FOR EACH ROW
    BEGIN
    SELECT
        序列名.nextval INTO : new.自增字段名 
    FROM
        DUAL;
    END;

    搞定

    下面举个例子吧:

    新建一张TEST表,里面有两个字段,分别是ID和NAME,设置ID为主键,注意ID是NUMBER类型

    -- 新建序列self_increasing_seq
    CREATE sequence self_increasing_seq minvalue 1 MAXVALUE 99999999 increment BY 1 START WITH 1;
    
    -- 新建触发器
    CREATE 
        OR REPLACE TRIGGER self_increasing_trigger BEFORE INSERT ON TEST FOR EACH ROW
    BEGIN
    SELECT
        self_increasing_seq.nextval INTO : new.ID 
    FROM
        DUAL;
    END;

    执行下面的插入sql:

    INSERT INTO TEST (NAME) VALUES ( '路人甲' );
    INSERT INTO TEST (NAME) VALUES ( '路人乙' );
    INSERT INTO TEST (NAME) VALUES ( '路人丙' );

    得到数据:

    昔日我曾苍老,如今风华正茂(ง •̀_•́)ง
  • 相关阅读:
    MM and Desinger
    db subsequent and synchronization(transfer)
    Thread concepts
    Threads concepts
    lucene article
    primary key
    lucene
    page procedure
    connection pool
    page procedures
  • 原文地址:https://www.cnblogs.com/lgqrlchinese/p/14262961.html
Copyright © 2011-2022 走看看