国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

oracle數據庫表實現自增主鍵的方法實例

瀏覽:26日期:2023-03-12 15:24:57
目錄
  • 一、前言
  • 二、實現主鍵自動增長
    • 1、創(chuàng)建表格
    • 2、創(chuàng)建自增序列
    • 3、創(chuàng)建觸發(fā)器
    • 4、測試新增語句
  • 總結

    一、前言

    幾天建表需要用到自增主鍵,于是使用序列(sequence)和觸發(fā)器(trigger)來實現主鍵自增,在網上查了一些知識,順便記錄下;

    二、實現主鍵自動增長

    1、創(chuàng)建表格

     CREATE TABLE "APP_COMM_T"
       (    
        "ID" NUMBER,
        "BASE_KEY" VARCHAR2(50 BYTE),
        "BASE_NAME" VARCHAR2(100 BYTE),
        "BASE_DESC" VARCHAR2(50 BYTE),
        "BASE_TYPE" VARCHAR2(10 BYTE),
        "BASE_SON" VARCHAR2(1 BYTE),
         CONSTRAINT "APP_COMM_T_PK" PRIMARY KEY ("ID")
       )
    

    注:必須標明ID為主鍵

    2、創(chuàng)建自增序列

    create sequence SEQ_APP_COMM_T
     minvalue 1 
     maxvalue 999999   
     increment by 1    
     start with 1;
    

    創(chuàng)建序列參數格式描述:

    CREATE SEQUENCE SEQNAME //序列名字

    MINVALUE 1 //最小值;設置NOMINVALUE表示無最大值

    MAXVALUE 1.0E20 //最大值;設置NOMAXVALUE表示無最大值

    INCREMENT BY 1 //每次自增1, 也可寫非0的任何整數,表示自增,或自減

    START WITH 1 //以該值開始自增或自減

    3、創(chuàng)建觸發(fā)器

     create trigger TRIG_APP_COMM_T      
    before insert on APP_COMM_T
    for each row   
    begin       
    select SEQ_APP_COMM_T.nextval into :new.id from dual;  
    end; 
    

    創(chuàng)建觸發(fā)器描述:

    before insert on APP_COMM_T

    /*觸發(fā)條件:當表APP_COMM_T執(zhí)行插入操作時觸發(fā)此觸發(fā)器*/

    for each row   /*對每一行都檢測是否觸發(fā)*/ 

    begin       
    /*觸發(fā)后執(zhí)行的動作,在此是取得序列SEQ_APP_COMM_T的下一個值插入到表APP_COMM_T中的id字段中*/

    4、測試新增語句

    已實現自增無需添加主鍵id

    INSERT INTO APP_COMM_T (BASE_KEY,BASE_NAME,BASE_DESC,BASE_TYPE,BASE_SON)
    VALUES("B", "ADMIN","賬號類型","AccountType","N");

    總結

    到此這篇關于oracle數據庫表實現自增主鍵的文章就介紹到這了,更多相關oracle數據庫表自增主鍵內容請搜索以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持!

    標簽: Oracle
    主站蜘蛛池模板: 贵德县| 凉山| 峨山| 麻江县| 恭城| 句容市| 昭觉县| 辛集市| 宕昌县| 盖州市| 浦江县| 钦州市| 中卫市| 平和县| 南宁市| 长春市| 盘山县| 水城县| 巴南区| 云梦县| 和林格尔县| 香港 | 施甸县| 承德县| 留坝县| 正定县| 美姑县| 南乐县| 内乡县| 神木县| 顺平县| 浏阳市| 龙岩市| 常德市| 漳浦县| 秦皇岛市| 永春县| 吴堡县| 满洲里市| 南丹县| 武功县|