久久r热视频,国产午夜精品一区二区三区视频,亚洲精品自拍偷拍,欧美日韩精品二区

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

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

瀏覽:56日期: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
    主站蜘蛛池模板: 奉贤区| 黔南| 商河县| 临城县| 西充县| 华阴市| 邮箱| 东宁县| 余江县| 黔江区| 新郑市| 临颍县| 延寿县| 本溪| 仲巴县| 昂仁县| 乌拉特后旗| 长春市| 北票市| 曲麻莱县| 丰顺县| 贺兰县| 扎兰屯市| 陆良县| 承德县| 大渡口区| 比如县| 阿拉善右旗| 云南省| 游戏| 甘孜| 本溪市| 吴川市| 冕宁县| 南部县| 清远市| 波密县| 湘潭县| 高邮市| 舟曲县| 公安县|