服务器之家:专注于服务器技术及软件下载分享
分类导航

Mysql|Sql Server|Oracle|Redis|MongoDB|PostgreSQL|Sqlite|DB2|mariadb|Access|数据库技术|

服务器之家 - 数据库 - Oracle - Oracle 实现类似SQL Server中自增字段的一个办法

Oracle 实现类似SQL Server中自增字段的一个办法

2019-11-05 15:26Oracle教程网 Oracle

由于Oracle中没有类似SQL Server中的自增字段,所以我们如果想要通过设定类似ID性质的唯一列的话,需要借助Oracle的sequence,先建立一个序列,然后在每次插入数据的时候,通过前触发器来更新ID值,并将序列的序号加1,这样的迂回方

相关代码如下: 
1. 创建sequence: 

复制代码代码如下:


CREATE SEQUENCE SEQU_DATA_DATAINFO INCREMENT BY 1 START WITH 1 NOCYCLE NOCACHE NOORDER; 


2. 创建触发器: 

复制代码代码如下:


create or replace TRIGGER TRIG_TEST 
BEFORE INSERT ON TABLE1 
FOR EACH ROW 
DECLARE 
tmpVar NUMBER; 
BEGIN 
tmpVar := 0; 
Select SEQU_PROC_ASSOCIATEINFO.NextVal into tmpVar from dual; 
:new.procid:=tmpVar; 
EXCEPTION 
WHEN OTHERS THEN 
-- Consider logging the error and then re-raise 
RAISE; 
END; 

延伸 · 阅读

精彩推荐