`
ludo2008
  • 浏览: 10355 次
  • 性别: Icon_minigender_1
  • 来自: 北京
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

oracle中主键自增设置

阅读更多

create table dectuser(

           userid integer primary key,  /*主键,自动增加*/

           name varchar2(20),

           sex varchar2(2)

           );2、创建自动增长序列

      drop sequence dectuser_tb_seq;

      create sequence dectuser_tb_seq minvalue 1 maxvalue 99999999

               increment by 1

               start with 1;   /*步长为1*/

 

<insert id="insert" parameterClass="cn.javass.spring.chapter7.UserModel"> 
    <selectKey resultClass="int" type="pre" keyProperty="id" > 
         SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL 
    </selectKey> 
     insert into test (id,name) values (#irrd#,#myName#) 
</insert>

 

在进行数据的插入时,有的业务需要获得相应的生成的主键值,以下是ibatis的实现方式:
有些数据库是预生成(pre-generate)主键的,如Oracle和PostgreSQL;有些是后生成(post-generate)主键的,如MySQL和SQL Server。不管是哪种方式,都可以用iBATIS的<selectkey>节点来获取<insert>语句所产生的主键。

demo如下:

xml 代码
  1. <!-- Oracle SEQUENCE Example using .NET 1.1 System.Data.OracleClient -->  
  2. <insert id="insertProduct-ORACLE" parameterClass="product">  
  3.     <selectKey resultClass="int" type="pre" keyProperty="id" >  
  4.          SELECT STOCKIDSEQUENCE.NEXTVAL AS VALUE FROM DUAL  
  5.     </selectKey>  
  6.      insert into PRODUCT (PRD_ID,PRD_DESCRIPTION) values (#id#,#description#)  
  7. </insert>  
  8.   
  9. <!-- Microsoft SQL Server IDENTITY Column Example -->  
  10. <insert id="insertProduct-MS-SQL" parameterClass="product">  
  11.      insert into PRODUCT (PRD_DESCRIPTION)  
  12.      values (#description#)  
  13.     <selectKey resultClass="int" type="post" keyProperty="id" >  
  14.          select @@IDENTITY as value  
  15.     </selectKey>  
  16. </insert>  
  17.   
  18. <!-- MySQL Example -->  
  19. <insert id="insertProduct-MYSQL" parameterClass="product">  
  20.      insert into PRODUCT (PRD_DESCRIPTION)  
  21.      values (#description#)  
  22.     <selectKey resultClass="int" type="post" keyProperty="id" >  
  23.          select LAST_INSERT_ID() as value  
  24.     </selectKey>  
  25. </insert>  
0
0
分享到:
评论

相关推荐

    Oracle中主键自增实例

    Oracle中主键自增实例

    oracle如何设置主键自增.doc

    oracle设置主键自增的方法,可以图形化界面也可以用sql语句,两种方法均亲自验证过。

    Navicat Premium中Oracle创建主键自增的方法

    到此这篇关于Navicat Premium中Oracle创建主键自增的方法的文章就介绍到这了,更多相关Navicat Premium主键自增内容请搜索软件开发网以前的文章或继续浏览下面的相关文章希望大家以后多多支持软件开发网!

    oracle主键自增

    oracle 数据库主键自增脚本 --第一步,创建表 --第二步,创建自增序列 --第三步,创建触发器

    Oracle主键自增的办法

    用于Oracle的主键进行自增的办法,有触发器 和序列机制

    ORACLE自增主键设置方法

    ORACLE自增主键设置方法ORACLE自增主键设置方法

    oracle中创建自增主键的方法

    oracle中创建自增主键的方法

    oracle中设置自增主键参考

    oracle中设置自增主键的方法介绍,用来设置自增

    Oracle创建主键自增表(sql语句实现)及触发器应用

    主键自增在插入数据的时候是很实用的,可以获取并操作返回的插入记录的ID,接下来介绍Oracle如何创建主键自增表,感兴趣的你可以了解下,就当是巩固知识,希望此文对你有所帮助

    创建oracle数据库中表的主键和自增

    在oracle中可以利用触发器创建自增,从而完成我们像在sql server与mysql中定义的主键自增的功能。从而方便我们的开发

    oracle数据库主键自增并且返回主键值

    1.1、直接在PLSQL中设置 1.2、命令创建 create sequence seq_users ##创建序列seq_users increment by 1 ## 步长,每次加1 start with 1 ##从1开始 minvalue 1 ##最小值 maxvalue 9999999 ##最大值 order ##确保...

    oracle 主键自增 sequence

    oracle 主键自增 给你个例子吧:看看肯定明白了!!! 首先,你要有一张表! CREATE TABLE example( ID Number(4) NOT NULL PRIMARY KEY, NAME VARCHAR(25), PHONE VARCHAR(10), ADDRESS VARCHAR(50) ); ...

    oracle 主键自增相关命令

    初学者用,在建立数据库的时候想要让主键ID自增。看过本文档你就一清二楚了

    oracle主键自动增长

    oracle数据库中主键属性没有自增长,所以只能自己写程序来实现,用序列与触发器,可以解决这个 问题

    Oracle建立自增主键

    Oracle建立自增主键,在方便我们设置主键等开发oracle数据库

    oracle设置主键自动增长

    oracle设置主键自动增长 首先,你要有一张表! 然后,你需要一个自定义的sequence  以上代码完成了一个序列(sequence)的建立过程,名称为emp_sequence,范围是从1开始到无限大(无限大的程度是由你机器决定的),nocycle...

    oracle主键自动增长方法

    oracle创建表时主键自动增长方法 5 测试反复执行如下语句:insert into Test_Increase(Username) values('test')6 查看插入结果:userid username1 test2 test3 test4 test5 test6 test7 test8 test9 test

    mybatis自增主键文档

    mybatis进行插入操作时,如果表的主键是自增的,...基本上经常会遇到的就是 Oracle Sequece 和 Mysql 自增主键,至于其他的手动生成唯一主键的问题在这里就不讨论了,这里主要说明下在mybatis中对于自增主键的配置。

Global site tag (gtag.js) - Google Analytics