zoukankan      html  css  js  c++  java
  • 在oracle中创建自动增长字段

    oracle在创建表时和其他的数据库有点不一样,MySql中可以使用“auto_increment”即可。但是oracle有点麻烦,需要使用序列和触发器达到目的。

    具体步骤如下:

    一、创建数据表
    create table employee(
    Id int ,
    DeptNo number,
    EmpNo number,
    Ename varchar2(16),
    Job varchar2(32),
    Sal float,
    HireDate date,
    constraint pk_employee primary key(EmpNo)
    );

    二、创建员工表自动增长序列
    create sequence employee_autoinc
    minvalue 1
    maxvalue 9999999999999999999999999999
    start with 1
    increment by 1
    nocache;

    三、创建触发器将序列中的值赋给插入employee表的行
    create or replace trigger insert_employee_autoinc
    before insert on employee
    for each row
    begin
    select employee_autoinc.nextval into :new.Id from dual;
    end insert_employee_autoinc;
    /

    四、验证
    insert into employee(DeptNo,EmpNo,Ename,job,sal,hiredate) values(520,5201002,'James zhou','PD',6000,to_date('2012-10-22','yyyy-mm-dd'));
    insert into employee(DeptNo,EmpNo,Ename,job,sal,hiredate) values(521,5211314,'xc','Boss',90000,sysdate);

    五、结果截图

  • 相关阅读:
    239. [LeetCode ]Sliding Window Maximum
    152.[LeetCode] Maximum Product Subarray
    53. [LeetCode] Maximum Subarray
    90 [LeetCode] Subsets2
    78[LeetCode] Subsets
    练习7.52
    练习7.47、7.48、7.49、7.51
    关于类类型的隐式类型转换
    练习7.44、7.45、7.46
    练习7.36、7.37、7.39、7.40
  • 原文地址:https://www.cnblogs.com/remote/p/9974842.html
Copyright © 2011-2022 走看看