zoukankan      html  css  js  c++  java
  • oracle 怎样建自增长字段

    经过以下三步就可以在表里新建一个自增长的字段了。感觉oracle居然没有一个比较方便的定义方式来建自增长字段实在有点不科学。。或许是我孤陋寡闻了?
    1.新建表
    --
    ```sql
    create table trade_msg(
        id integer primary key,  --需要自增长的字段
        track_id varchar2(16),
        grp_id varchar2(6),
        message varchar2(200),
        flag varchar2(2),
        create_time date
    );
    ```
    
    2.新建sequence 
    --
    ```
    CREATE sequence SEQ_ID minvalue 1 maxvalue 99999999 start with 1 increment BY 1 nocache ORDER;
    ```
    3.新建触发器
    --
    ```
    CREATE OR REPLACE TRIGGER tri_test_id before
      INSERT ON trade_msg  --触发器要建在相应的表上
        FOR EACH row DECLARE nextid NUMBER;
      BEGIN
        IF :new.id --对应表里需要自增长的字段
        IS
          NULL or :new.id=0 THEN 
          SELECT SEQ_ID.nextval  
          INTO nextid FROM sys.dual;
          :new.id:=nextid;
        END IF;
      END tri_test_id;
    ```
    
    作者:sylarinfo
    出处:博客园sylarinfo的技术博客--http://www.cnblogs.com/sylarinfo/
    您的支持是对博主最大的鼓励,感谢您的认真阅读。
    本文如未在开头表明转载,则版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    自定义控件类
    初探ListView和Adapter
    探究android控件及布局
    页面布局之一边固定一边自适应
    cavans 文字换行
    移动开发01 页面取消横向滚动条
    移动端rem,scale动态设置
    map,area标签
    css3属性——border-radius用法
    z-index要同级比较,absolute包含块外有overflow-hidden
  • 原文地址:https://www.cnblogs.com/sylarinfo/p/3474666.html
Copyright © 2011-2022 走看看