oracle 实现ID自增
CREATE TABLE testTable1
(
ID INT NOT NULL,
NAME VARCHAR2(4000) NOT NULL,
PRIMARY KEY(ID)
)
TABLESPACE MYDB; --创建自增ID,名称为:表名_字段名_SEQ
CREATE SEQUENCE testTable1_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE; -- 为Insert操作创建触发器,无需在SQL语句里写NEXTVAL,名称为表名_INS_TRG
CREATE OR REPLACE TRIGGER testTable1_INS_TRG BEFORE INSERT ON testTable1 FOR EACH ROW WHEN(NEW.ID IS NULL)
BEGIN
SELECT testTable1_ID_SEQ.NEXTVAL INTO :NEW.ID FROM DUAL;
END; --创建自增ID,名称为:表名_字段名_SEQ
CREATE SEQUENCE lz_Cbenefititem_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE; -- 为Insert操作创建触发器,无需在SQL语句里写NEXTVAL,名称为表名_INS_TRG
CREATE OR REPLACE TRIGGER lz_Cbenefititem_pro_INS_TRG BEFORE INSERT ON lz_claimbased_benefititem_pro FOR EACH ROW WHEN(NEW.benefititemno IS NULL)
BEGIN
SELECT lz_Cbenefititem_ID_SEQ.NEXTVAL INTO :NEW.benefititemno FROM DUAL;
END; --创建自增ID,名称为:表名_字段名_SEQ
CREATE SEQUENCE lz_Cclassify_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE; -- 为Insert操作创建触发器,无需在SQL语句里写NEXTVAL,名称为表名_INS_TRG
CREATE OR REPLACE TRIGGER lz_CClassify_pro_INS_TRG BEFORE INSERT ON lz_claimbased_classify_pro FOR EACH ROW WHEN(NEW.benefitsclassifyno IS NULL)
BEGIN
SELECT lz_Cclassify_ID_SEQ.NEXTVAL INTO :NEW.benefitsclassifyno FROM DUAL;
END; --创建自增ID,名称为:表名_字段名_SEQ
CREATE SEQUENCE lz_Cdeductible_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE; -- 为Insert操作创建触发器,无需在SQL语句里写NEXTVAL,名称为表名_INS_TRG
CREATE OR REPLACE TRIGGER lz_CDeductible_pro_INS_TRG BEFORE INSERT ON lz_claimbased_deductible_pro FOR EACH ROW WHEN(NEW.deductibleno IS NULL)
BEGIN
SELECT lz_Cdeductible_ID_SEQ.NEXTVAL INTO :NEW.deductibleno FROM DUAL;
END; --创建自增ID,名称为:表名_字段名_SEQ
CREATE SEQUENCE lz_Cmaximum_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE; -- 为Insert操作创建触发器,无需在SQL语句里写NEXTVAL,名称为表名_INS_TRG
CREATE OR REPLACE TRIGGER lz_Cmaximum_pro_INS_TRG BEFORE INSERT ON lz_claimbased_maximum_pro FOR EACH ROW WHEN(NEW.outofpocketmaximumno IS NULL)
BEGIN
SELECT lz_Cmaximum_ID_SEQ.NEXTVAL INTO :NEW.outofpocketmaximumno FROM DUAL;
END; --创建自增ID,名称为:表名_字段名_SEQ
CREATE SEQUENCE lz_Cbenefits_ID_SEQ MINVALUE 1 NOMAXVALUE INCREMENT BY 1 START WITH 1 NOCACHE; -- 为Insert操作创建触发器,无需在SQL语句里写NEXTVAL,名称为表名_INS_TRG
CREATE OR REPLACE TRIGGER lz_Cbenefits_pro_INS_TRG BEFORE INSERT ON lz_claimbased_benefits_pro FOR EACH ROW WHEN(NEW.benefitsno IS NULL)
BEGIN
SELECT lz_Cbenefits_ID_SEQ.NEXTVAL INTO :NEW.benefitsno FROM DUAL;
END;
oracle 实现ID自增的更多相关文章
- hibernate解决oracle的id自增?
以前做SSH项目时,涉及到的数据库是mySQL,只需将bean的配置文件id设为native 就可以实现表id的自增. 现在用到了Oracle,当然知道这样是不行的啦,那么用序列自增? 我在网络上搜索 ...
- Oracle中用序列和触发器实现ID自增
在设计数据库的时候,Oracle中没有类似SQL Server中系统自动分配ID作为主键的功能,这时Oracle可以通过“序列”和“触发器”来实现ID自动增加的功能. 1.创建序列Sequence c ...
- Oracle 通过触发器实现ID自增
Oracle不像Mysql,SQLServer能够直接设置ID自增,但是可以通过触发器实现ID自增. 1 创建测试表 create table t_goods(id number primary ke ...
- Oracle ID 自增
实现Oracle Id自增 1.方法一(Oracle Version Oracle 12c版本支持) create table app_student( id integer generated by ...
- 2017/2/8 hibernate + oracle 实现id的自增 同时 hibernate项目跑起来 会自己增加字段的原因 oracle触发器的使用
hibernate + oracle 实现id的自增 1.在oracle中先创建一个序列 : 序列语法 如下 create sequence (序列名称)seq_student_id minva ...
- Oracle 给表添加主键和使ID自增、触发器、创建结构一样的表
1.关于主键:在建表时指定primary key字句即可:create table test( id number(6) primary key, name varchar2(30));如果是对于已经 ...
- oracle 主键自增 设置----杜恩德
<div id="topicList"> <div class="forFlow"> <div class = "pos ...
- C# - VS2019 通过DataGridView实现对Oracle数据表的增删改查
前言 通过VS2019建立WinFrm应用程序,搭建桌面程序后,通过封装数据库操作OracleHelper类和业务逻辑操作OracleSQL类,进而通过DataGridView实现对Oracle数据表 ...
- oracle如何实现自增?----用序列sequence的方法来实现
将表t_user的字段ID设置为自增:(用序列sequence的方法来实现) ----创建表 Create table t_user( Id number(6),userid varchar2(2 ...
随机推荐
- 【引】objective-c,3:关于block
原文参考博文: http://blog.devtang.com/2013/07/28/a-look-inside-blocks/ http://www.cnblogs.com/kesalin/arch ...
- 【python】pandas & matplotlib 数据处理 绘制曲面图
Python matplotlib模块,是扩展的MATLAB的一个绘图工具库,它可以绘制各种图形 建议安装 Anaconda后使用 ,集成了很多第三库,基本满足大家的需求,下载地址,对应选择pytho ...
- 2016HUAS_ACM暑假集训4B - 递推
这种数学推理题目题意极其明显,在做的时候,可以多写几组,这样找起规律来会容易些.概括起来就是:题意简单暴力,案例毫无价值. 一个三角形最多可以把一个平面分成两部分,两个三角形最多是8(2+6)部分,而 ...
- perl回文数解析,比C容易多了
#!/usr/bin/perl -w ; @array = split "", shift @ARGV; ..($#array+1)/2-1]; @array_2 = revers ...
- DBC表名说明
http://www.afkwower.com/forum.php?mod=viewthread&tid=1277&extra=page%3D2由天堂大神提供Achievement.d ...
- 顶点缓存对象(VBO)
创建VBO 绘制VBO 更新VBO 实例 GL_ARB_vertex_buffer_object扩展致力于提供顶点数组与显示列表的优势来提升OpenGL效率,同时避免它们实现上的不足.顶点缓存对象(V ...
- 多节点ListView的加载效率
据说实际场景中node数量达到4k~6k,ListView就崩溃了.(怎么个崩溃法未知) 小试了一下,10w个node毫无压力.(win7 vs2010 .net2.0) 有意思的地方在于,动态添加如 ...
- Android从零开始--安装
1.下载安装eclipse.adt和Android sdk(以前一直以为Android使用的sdk也是java jdk呢,呵呵) 2.都安装完成后配置eclipse的Android的环境,将Andro ...
- HoloLens外包团队:HoloLens有一个严重缺陷,但微软并不想改
微软的HoloLens自公布以来,几乎获得了一边倒的赞美声.它使用了增强现实(AR)技术,在现实世界中叠加一层虚拟影像,能让人仿佛置身魔法世界.但从最新的Hololens硬件体验上看,它可能有一个致使 ...
- 教你用plsql建立索引加快查询oracle数据的速度
http://jingyan.baidu.com/article/3f16e003cb9a0f2591c10324.html?qq-pf-to=pcqq.c2c PL/SQL Developer是一个 ...