oracle不像sql 
server 有关键字identity直接可插入数据时自增 ,Oracle是不能用Identity,可以使用Sequence

Create Table Tempinfo(
ids int not null,
names nvarchar2(50),
sex varchar(10)
) insert into Tempinfo (ids,names,sex) values (1,'Serein',2188);
insert into Tempinfo (ids,names,sex) values (2,'James',2182); select * from Tempinfo --drop table Tempinfo

实现oracle 自增列第一步,创建一个sequence

CREATE SEQUENCE Tempinfo_seq 

 INCREMENT BY 1 -- 每次加几个 

 START WITH 1 -- 从1开始计数 

 NOMAXvalue -- 不设置最大值 

 NOCYCLE -- 一直累加,不循环  

 CACHE 10; --设置缓存cache个序列,如果系统down掉了或者其它情况将会导致序列不连续,也可以设置为---------NOCACHE

一旦定义了Tempinfo_seq,你就可以用currval,nextval
    currval=返回 sequence的当前值
    nextval=增加sequence的值,然后返回 sequence 值

比如:
    Tempinfo_seq.CURRVAL
    Tempinfo_seq.NEXTVAL

第二步,创建一个触发器。

create or
replace trigger userlogin_trigger
before insert on Tempinfo
for each
row
begin
select Tempinfo_seq.Nextval into:new.ids from sys.dual
;
end;

执行插入查看

insert into  Tempinfo (names,sex) values ('Terry',2189);

当然也事不用创建触发器,直接在插入数据时使用sequence就可以了

insert into Tempinfo (ids,names,sex) values (Tempinfo_seq.Nextval,'Serein',2188);

可以使用sequence的地方:
    - 不包含子查询、snapshot、view的 select 语句
    - INSERT语句的子查询中
    - NSERT语句的values中
    - UPDATE 的 set中

删除序列
    简单的Drop Sequence
    Sql代码

  drop sequence Tempinfo_seq;

参考:  oracle 实现插入自增列

Oracle 使用序列创建自增字段

oracle 实现插入自增列(类似SqlServer Identity)的更多相关文章

  1. [转]oracle 实现插入自增列

    本文转自:http://blog.csdn.net/love_zt_love/article/details/7911104 刚使用oracle,它和sql server 好多地方还是有所不同的,简单 ...

  2. Oracle 12c的自增列Identity Columns

    在Oracle的12c版本中,Oracle实现了类似MySQL中的auto_increment的自增列,下面我们看一起Oracle是怎么实现的. Oracle Database 12c Enterpr ...

  3. ORACLE表建立自增列

    create tablespace studentDBdatafile 'E:\datafiles_1.dbf' size 10m; create user Huang_Ying_Boidentifi ...

  4. Sql Insert into select 创建临时表插入自增列

    ] GO ============================================= -- Author: PPL -- Create date: 2015-11-23 -- Desc ...

  5. Oracle自增列

    一.介绍: 在设计数据库时,有时候希望表的某一列为自增列,例如编号,本文就介绍如何在oracle数据库中实现自增列,需要两个步骤: 1)构建序列(sequence) 在oracle中sequence就 ...

  6. Oracle自增列创建方法

    最近在做Oracle的项目,由于以前没有接触过Oracle的开发,遇到了不少的问题,比如给Oracle表添加自增列,与SQL Server就不同. Oracle没有自增字段这样的功能,但是通过触发器( ...

  7. 重置SQLSERVER表的自增列,让自增列重新计数

    SQL的自增列挺好用,只是开发过程中一旦删除数据,标识列就不连续了 写起来 也很郁闷,所以查阅了一下标识列重置的方法 发现可以分为三种: --- 删除原表数据,并重置自增列truncate table ...

  8. SQL的自增列重置的方法

    SQL的自增列挺好用,只是开发过程中一旦删除数据,标识列就不连续了 写起来 也很郁闷,所以查阅了一下标识列重置的方法 发现可以分为三种: --- 删除原表数据,并重置自增列 truncate tabl ...

  9. 使用JDBC插入数据到ORACLE,使用标识列自增列

    不同于SQL Server的是,Oracle中插入数据的时候,没有自增列或者是标识列,但是,我们又不想显式的进行主键的插入,这里,必须在Oracle数据库中指定一个标识列,或者说是一个序列.具体方法如 ...

随机推荐

  1. spring mysql多数据源配置

    spring mysql多数据源配置 @Configuration public class QuartzConfig { @Autowired private AutowireJobFactory ...

  2. scala class和object,trait的区别

    Scala类 1 2 3 4 5 6 7 8 9 10 11 12 13 class Counter {   private var value = 0 // 必须初始化字段   def increm ...

  3. Oracle快速克隆安装

    Oracle的家目录进行快速克隆,对同类型机器配置很高效的! 01.确认你在克隆数据库时,原数据库已经关闭 sqlplus   /   as sysdba; shutdown immediate ; ...

  4. 社区类 App 如何引导用户发帖和产生内容?

    作者:Pmer在路上链接:http://www.zhihu.com/question/25502904/answer/31342246来源:知乎著作权归作者所有,转载请联系作者获得授权. ugc的产出 ...

  5. Google 做过的 12 件奇葩事

    Google做了太多伟大的事情了.以至于有时它有点让人难以实时跟上它的动态.假设你对这家公司略微有点感情.看看他们做过的一些有点匪夷所思的事儿,可能认为,毕竟是大公司.还挺难以被全然理解透的. 一个Q ...

  6. LNMP的的编译安装全过程

    一.对系统进行更新 yum update -y lsb_release -a 二.禁用SELINUX sed -i '/SELINUX/s/enforcing/disabled/' /etc/seli ...

  7. protobuf配置与使用

    Protobuf配置与安装 1 安装与配置 1.protobuf是google公司提出的数据存储格式,详细介绍可以参考:https://code.google.com/p/protobuf/ 2.下载 ...

  8. this.class.getClassLoader().getResourceAsStream与this.class.getResourceAsStream

    本文部分转自:http://xixinfei.iteye.com/blog/1256291 this.getClass().getClassLoader().getResource("tem ...

  9. HDUOJ----2952Counting Sheep

    Counting Sheep Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)To ...

  10. 转 selenium 自动下载文件

    #coding=utf-8from selenium import webdriver #实例化一个火狐配置文件fp = webdriver.FirefoxProfile() #设置各项参数,参数可以 ...