最近在学习Oracle和MySql,MySql有自动配置主键自增长auto_increment,这样在输入数据的时候可以不考虑主键的添加,方便对数据库的操作。

  在Oracle中设置自增长首先用到sequence序列;

以创建学生表为例:

create table Student(id number(4) primary key,--主键id,实现自增
name varchar2(20),--名字
age number(3)--学生年龄
);

----------创建学生表-----------------

create sequence stu_sequence
increment by 1
start with 1
maxvalue 9999
minvalue 1
nocycle
cache 50;

-----------创建序列-----------------

create or replace trigger stu_auto_addid
before insert on Student
for each row
when(new.id is null)
begin
select stu_sequence.nextval into :new.id from dual;
end;
/

-----------创建触发器-----------------

接下来验证:

insert into Student(name,age) values('张三',12);

select * from Student;

结果:

51 张三 12

注:51原因是在这之前我已经试过一次,关闭数据库以后序列的缓存释放,从50开始算起。

这个序列同样可以用于其他的表。只需修改触发器中的表名。

  

转载于:https://www.cnblogs.com/soaplay/p/8858503.html

Oracle中主键自增长相关推荐

  1. oracle中主键自增长,oracle 数据库主键自动增长方法

    oracle 数据库没有像 MYSQL一样有 自动ID增值 的功能,如要实现可以用触发器. 首先就是建立一个序列,序列有有自动增值的功能,再建立一个触发器. 如: 建立一个序列 CREATE SEQU ...

  2. oracle中主键和唯一索引的区别说明

    上周六去参加上海Oracle WDP俱乐部沙龙的一次交流,其中提到了关于"Oracle中主键和唯一索引的区别",基本上大家都可以说上几个,在网上也可以找到,但是总感觉不太全,根据自 ...

  3. db2主键自增和oracle,DB2主键自增长设置(id自增)

    接触DB2还没有多久,最近的项目中 需要创建一个表,表的主键自增长,毕竟跟Oracle有点不一样啊! CREATE  TABLE T_RUNNING_THREAD ( IDINTEGER NOT NU ...

  4. oracle实现主键自增长及自动生成策略

    文章目录 一 自增主键 两种方法可以设置主键: 自增长主键 唯一序列 一 自增主键 方法一:通过序列以及触发器实现主键自增长 适用于直接使用JDBC连接数据库,这种方式将主键自增长的任务完全交给数据库 ...

  5. ibatis中主键自动增长(Oracle,Ms sql server ,mysql)

    http://morning2008.iteye.com/blog/611528 iBatis的sqlMap配置文件的selectKey元素有个type属性,可以指定pre或者post表示前生成(pr ...

  6. oracle里主键自动增长的设置

    oracle不能实现字段数值的自增长.可以通过序列和触发器来实现一行数据在insert前实现某字段的自增. 首先随便建立一个表,menuId是需要自增的字段 create table menu( me ...

  7. oracle中主键创建的语法,Oracle中主键、外键、索引、序列、唯一性约束的创建

    1.主键的创建 方法一:直接在sql语句中声明字段主键约束 create table table_name (id type[length] constraint pk_name primary ke ...

  8. access中主键自动增长_ACCESS与EXCEL融合应用系列(一) :把数据导入Access

    Excel无疑是我们手头最便利的报表汇总及数据分析利器,但由于微软对EXCEL定位的问题,当我们遇到大容量数据需要存储.处理和分析的时候,excel就显得力不从心了.这种情况下我们有两种选择:①加装P ...

  9. MyBatis+Oracle实现主键自增长

    一.使用selectKey标签 <insert id="addLoginLog" parameterType="map" ><selectKe ...

最新文章

  1. DeepID:Python基于Caffe的DeepID2实现人脸识别的简介、实现之详细攻略
  2. 奉献一波鹅厂的面经!纪念最后的校招!| 掘金技术征文
  3. VERP中建立集合collection
  4. 个性潮流的设计PSD分层模板
  5. MySQL-数据操作-增删改查
  6. SqlServer中截取(获取)字符串中特定字符分割的每个元素
  7. 路由器无线模式与信道检测
  8. Modern UI for WPF的使用
  9. 嵌入式Linux--根文件系统(二)BusyBox构建根文件系统
  10. 服务器端获取签名直传OOS
  11. 09:整型与布尔型的转换
  12. 【Unity】Unity 基本介绍
  13. 配置 JAVA_HOME
  14. 计算机组成原理~计算机的基本组成②
  15. SaaS模式在国内的基本现状研究
  16. 建议收藏!最有效率的python数据分析入门书单
  17. XRD测试在锂离子电池正极中若干应用实例
  18. Fuzzy C-Means Clustering(模糊C均值)
  19. 数值最优化-有效集法求解含有不等式约束的二次规划问题
  20. Hackthebox-Craft (Machine Maker: rotarydrone)

热门文章

  1. 在OSX中制作加密压缩文件
  2. opencv_python关于Qt的错误
  3. Linux命令关机/重启和Windows系统dos命令关机/重启
  4. 数据结构与算法(一)——排序
  5. CCS的一些问题(转帖)
  6. STC单片机程序下载失败总结
  7. ISE报错问题集锦(转载)
  8. 关于国内部分电子病历编辑器的评价
  9. Unity-Find-Script-References 查找脚本的引用
  10. python压缩文件不带根路径_python 压缩文件(解决压缩路径问题)