参考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;
     

在oracle中创建自动增长字段的更多相关文章

  1. Oracle中的自动增长字段

    Oracle中的自动增长字段 Oracle 中不像MYSQL 和MSSQLServer 中那样指定一个列为自动增长列的方式,不过在Oracle中可以通过SEQUENCE序列来实现自动增长字段. 在Or ...

  2. Oracle中创建自增字段方法

    oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现. 下面给大家讲个例子: 1.在Oracle中创建一个表: .创建一个表 ) prim ...

  3. oracle中的自动增长

    create table test( id int not null primary key, name varchar2(20), sex int) ; create sequence t -> ...

  4. Oracle创建自动增长列

    前言: Oracle中不像SQL Server在创建表的时候使用identity(1001,1)来创建自动增长列,而是需要结合序列(Sequences)和触发器(Triggers)来实现 创建测试表 ...

  5. Guid算法与标识列(自动增长字段)在表中的应用

    <<1>>int(bigint)+标识列(自动增长字段) 用标识列实现字段自增可以避免并发等问题.不需开发人员自己控制自增,用标识列的字段在Insert的时候不用指定主键的值. ...

  6. [转载]C#中使用ADO.NET连接SQL Server数据库,自动增长字段用作主键,处理事务时的基本方法

    问题描述: 假设在数据库中存在以下两张数据表: User表,存放用户的基本信息,基本结构如下所示:   类型 说明 ID_User int 自动增长字段,用作该表的主键 UserName varcha ...

  7. Mysql,SqlServer,Oracle主键自动增长的设置

    1.把主键定义为自动增长标识符类型 MySql 在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: )); insert into customers ...

  8. oracle 主键自动增长

    oracle 主键自动增长 2009-12-11 16:07:00|  分类: 数据库资料|字号 订阅     这几天搞Oracle,想让表的主键实现自动增长,查网络实现如下: create tabl ...

  9. Mysql,SqlServer,Oracle主键自动增长的设置

    在mysql中,如果把表的主键设为auto_increment类型,数据库就会自动为主键赋值.例如: CREATE TABLE google(id INT AUTO_INCREMENT PRIMARY ...

随机推荐

  1. php 提取图片主要颜色

    PHP实现获取图片颜色值的方法 PHP获取图片颜色值检测图片主要颜色是通过imagecreatefromjpeg函数读取图片,再循环获得各个颜色值加以计算实现的. /** * 获取图片主要颜色 * @ ...

  2. NET设计模式 第二部分 创建型模式(5):原型模式(Prototype Pattern)

    原型模式(Prototype Pattern) ——.NET设计模式系列之六 Terrylee,2006年1月 概述 在软件系统中,有时候面临的产品类是动态变化的,而且这个产品类具有一定的等级结构.这 ...

  3. 使用openssl命令剖析RSA私钥文件格式

    原文 https://blog.csdn.net/zhymax/article/details/7683925 Openssl提供了强大证书功能,生成密钥对.证书,颁发证书.生成crl.验证证书.销毁 ...

  4. Elasticsearch的脚本化数据导入导出

    我用的ES的版本是2.4.1,由于没有相应的命令实现数据的导入和导出,就是像mysql的那种mysqldump类似的指令. 更苦逼的是,我们的生产和测试环境,还不能联网,连ES的第三方的插件都没有办法 ...

  5. MySQL 5.7.16 字符串拆分 -> 单列变多行记录(转发)

    http://blog.csdn.net/mchdba/article/details/53889803 ----------------------------------------------- ...

  6. jQuery实现点赞动态效果

    实现动态效果基本上都是用到定时器,修改标签的位置大小颜色属性 <!DOCTYPE html> <html lang="en"> <head> & ...

  7. 第一个NDK工具:AddInputsSol

    工具名称:AddInputsSol 系统平台:Windows 7x64 软件平台:Nuke8.0v5x64 基本功能:分别获取AddInputsSol节点上游的framerange信息,点击Rende ...

  8. Maven 之多模块构建

    项目的打包类型:pom.jar.war 项目中一般使用maven进行模块管理,每个模块下对应都有一个pom文件,pom文件中维护了各模块之间的依赖和继承关系.项目模块化可以将通用的部分抽离出来,方便重 ...

  9. Ubuntu PPA软件源

    PPA,其英文全称为 Personal Package Archives,即个人软件包档案.是 Ubuntu Launchpad 网站提供的一项源服务,允许个人用户上传软件源代码,通过 Launchp ...

  10. Base64 转 图片

    static void Main(string[] args) { string s = "iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAIAAAABc2X6AAAAC ...