博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
在oracle中创建自动增长字段
阅读量:5110 次
发布时间:2019-06-13

本文共 1027 字,大约阅读时间需要 3 分钟。

参考http://www.cnblogs.com/jerrmy/archive/2013/03/13/2958352.html

   http://www.jb51.net/article/43382.htm

    http://www.jb51.net/article/37844.htm

oracle在创建表时和其他的数据库有点不一样,如SQL SERVER可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键,有利于我们进行数据的插入操作。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 employ_autoinc

     minvalue 1

     maxvalue 9999999999999999999999999999
     start with 1
     increment by 1
     nocache;

 
     第三,创建触发器将序列中的值赋给插入employee表的行
   
 create or replace trigger Identity1
before insert on test--表名
for each row
begin
select employ_autoinc.nextval into :new.nId from dual;
end;
     最后测试一下我们的成果
     insert into employee(DeptNo,EmpNo,Ename,job,sal,hiredate)                                 values(520,5201002,'James zhou','PD',6000,to_date('2012-10-22','yyyy-mm-dd'));
 
     select * from employee;
     

转载于:https://www.cnblogs.com/jianzhixuan/p/6958073.html

你可能感兴趣的文章
boost lexical_cast
查看>>
asp.net 检测到有潜在危险的 Request.Form 值
查看>>
pycharm更新之后显示问题
查看>>
[zz]/usr、/var和/etc目录
查看>>
phpcms
查看>>
中文词频统计
查看>>
[.net 面向对象编程基础] (19) LINQ基础
查看>>
Win10 虚拟桌面
查看>>
了解node.js
查看>>
想做移动开发,先看看别人怎么做
查看>>
Dynamics CRM 2013 初体验(1):系统的安装
查看>>
利用redis的订阅和发布来实现实时监控的一个DEMO(Python版本)
查看>>
Ping其他电脑ping不通的解决方法
查看>>
《数据通信与网络》笔记--多路访问之通道化
查看>>
Eclipse相关集锦
查看>>
虚拟化架构中小型机构通用虚拟化架构
查看>>
继承条款effecitve c++ 条款41-45
查看>>
[置顶] OGG-01091 Unable to open file (error 89, Invalid file system control data detected)
查看>>
Myeclipse 连接MSSqlServer
查看>>
redis启动流程介绍
查看>>