更新oracle数据库表如何实现主键自增长
在数据库中实现主键自动增长有利于我们做数据插入操作,在SQL SERVER上创建表时可以在int类型的字段后加上identity(1,1),该字段就会从1开始,按照+1的方式自增,将这个字段设置为主键。MySql中可以使用“auto_increment”即可。而oralce实现该效果需要使用序列配合触发器使用。
下面是一个具体实例:
1.创建数据库表:
create table employee
(
EID INTEGER,
NAME varchar2(10),
SURNAME varchar2(10),
GENDER varchar2(10),
STATE varchar2(10),
BIRTHDAY date,
HIREDATE date,
DEPT varchar2(10),
SQLARY INTEGER
)
;
2.创建序列:
create sequence EID_AUTOINC
minvalue 1
maxvalue 9999
start with 57
increment by 1
nocache;
3.创建触发器:
CREATE OR REPLACE TRIGGER employee_EID --触发器名称
BEFORE INSERT ON employee --EMPLOYEE是表名
FOR EACH ROW
DECLARE
NEXTID NUMBER;
BEGIN
IF :NEW.EID IS NULL OR :NEW.EID=0 THEN --EID是列名
SELECT EID_AUTOINC.nextval --EID_AUTOINC是刚才创建的序列
INTO NEXTID
FROM DUAL;
:NEW.EID:=NEXTID;
END IF;
END employee_EID;
4.插入数据测试:
insert into employee
( name, surname, gender, state, birthday, hiredate, dept, sqlary)
values
( 'm', 'f', 'f', 'QQHE', to_date('1986-08-01','yyyy-mm-dd'), to_date('2010/08/24','yyyy-mm-dd'), 'C-center', '3500');
5.查询验证:
select * from employee
最新文章
- Lind.DDD.Events事件总线~自动化注册
- 微信小程序实质是什么? Hybrid App
- Spark1.6.2 java实现读取json数据文件插入MySql数据库
- easyUI学习笔记之tab组件的鼠标事件
- springmvc 向页面传值
- Python 中的 is 和 id
- 六、Linux/UNIX操作命令积累【kill、netstat、df、du】
- Ext.form.FormPanel定义的参数说明
- 设置gridcontrol的焦点行
- Spring源码情操陶冶-AbstractApplicationContext#invokeBeanFactoryPostProcessors
- JFreeChart的使用(转)
- Node.js 定时器
- 【Android 应用开发】BluetoothSocket详解
- 洛谷P4064 [JXOI2017]加法(贪心 差分)
- chrome截图全网页
- Burpsuite之Burp Collaborator模块介绍
- js 实现 Base64 编码的相互转换
- python通过cx_oracle操作数据库过程简单记录
- CUDA核函数调用基础数学API的一个奇葩情况
- HDLM命令dlnkmgr详解之一__命令格式