zoukankan      html  css  js  c++  java
  • Oracle 创建自增列

    类似SqlServer中的标识列   identity,Oracle实现同样的效果有点小复杂额,如下:

     1 --1.创建表
     2 create table Student(
     3        ID integer not null primary key,
     4        Name varchar2(40) not null,
     5        Sex integer,
     6        Address varchar2(100)
     7 )      
     8 tablespace MyTest_Data;--指明表空间
     9 
    10 --2.创建序列
    11 create sequence SEQ_StuID    
    12 minvalue 1                   
    13 start with 1                 
    14 increment by 1               
    15 nomaxvalue                   
    16 nocache;                     
    17 
    18 --3.创建触发器
    19 create OR REPLACE TRIGGER Trigger_StuID 
    20    BEFORE insert
    21    ON Student 
    22    FOR EACH ROW
    23 BEGIN
    24      if inserting then                                          
    25        if :NEW."ID" is null then                                
    26           select SEQ_StuID.nextval into :NEW."ID" from dual; 
    27        end if;                                                  
    28     end if;         
    29 END;
    30 
    31 --4.激活触发器
    32 alter table "admin"."Student" --用户.表名
    33 enable all triggers;
    34 
    35 --5.插入数据
    36 insert into Student(NAME,SEX,ADDRESS) values('张三',1,'第七街区');
    37 
    38 --可以使用【序列名.newxtval】查看下一个要使用的序列号
    39 --注意:以下语句执行一次会按指定的增量增加
    40 select SEQ_StuID.nextval from dual
  • 相关阅读:
    Eclipse安装aptana
    mysql获取下一篇和上一篇文章的ID
    Java回顾之Spring基础
    纯CSS实现各类气球泡泡对话框效果
    百度编辑器ueditor的简单使用
    实施接口
    Java快速教程
    Java GUI程序设计
    JAVA之关于This的用法
    Java 数组基础
  • 原文地址:https://www.cnblogs.com/hzz521/p/4976663.html
Copyright © 2011-2022 走看看