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 ...
随机推荐
- 用composer安装Yii
YII2通过Composer安装方法http://www.yiichina.com/download 一.Composer安装首先到https://getcomposer.org/doc/00-int ...
- Android ui 测试课堂笔记
开始接触Android ui测试了,笔记如下 模拟器 Genemotion , the fastest android simulator in the world Android ui 测试工具 S ...
- Chapter 3: Develop the user experience
Plan for search engine optimization and accessibility 使用analytical tools分析HTML,如SEO toolkit from MS, ...
- SpringMVC——返回JSON数据&&文件上传下载
--------------------------------------------返回JSON数据------------------------------------------------ ...
- [原创]cocos2d-x研习录-第三阶 特性之调度器
在游戏中,经常会周期执行一些检测.操作或更新一些数据等,我们称之为调度.Cocos2D-x中将调度封装为类CCScheduler,方便在游戏开发中使用.我们一起来学习一下,CCScheduler具有哪 ...
- Redis的三种启动方式【转】
Part I. 直接启动 下载 官网下载 安装 tar zxvf redis-2.8.9.tar.gz cd redis-2.8.9 #直接make 编译 make #可使用root用户执行`make ...
- ecs CentOS 7 安装 mysql (mariadb)
检查之前是否已经安装 rpm -qa | grep mariadb 如果已安装,卸载 yum remove mysql mysql-server mysql-libs compat-mysql51 开 ...
- js中二维数组的初始化
在编程过程中,很多情况下(涉及到坐标.层级操作)我们都会用到二维数组,下面介绍介绍几种二维数组初始化的方法: 方法一.直接定义并且初始化,这种情况适用于数量和值已知的数组: var arr=[[&qu ...
- AES加密算法C++实现
我从网上下载了一套AES加密算法的C++实现,代码如下: (1)aes.h #ifndef SRC_UTILS_AES_H #define SRC_UTILS_AES_H class AES { pu ...
- 服务 在初始化安装时发生异常:System.IO.FileNotFoundException: "file:///D:\testService"未能加载文件或程序集。系统找不到指定文件。
@echo.@if exist "%windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" goto INSTALL ...