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

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

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

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

    一、前言

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

    二、實現主鍵自動增長

    1、創建表格

     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、創建自增序列

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

    創建序列參數格式描述:

    CREATE SEQUENCE SEQNAME //序列名字

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

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

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

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

    3、創建觸發器

     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; 
    

    創建觸發器描述:

    before insert on APP_COMM_T

    /*觸發條件:當表APP_COMM_T執行插入操作時觸發此觸發器*/

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

    begin       
    /*觸發后執行的動作,在此是取得序列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數據庫表自增主鍵內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

    標簽: Oracle
    主站蜘蛛池模板: 广安市| 鹤岗市| 水富县| 浦城县| 晴隆县| 新昌县| 盐池县| 德州市| 临西县| 佳木斯市| 巫山县| 班戈县| 黔江区| 台东市| 平安县| 康定县| 衡山县| 建德市| 南溪县| 拜城县| 萨嘎县| 和平区| 永济市| 右玉县| 利津县| 新竹县| 洪湖市| 武汉市| 舟曲县| 绥化市| 乐安县| 南靖县| 弥勒县| 云阳县| 清徐县| 灵台县| 郴州市| 二手房| 慈利县| 沐川县| 乌兰察布市|