oracle怎麼增加自增列(我的兩種常用方法)

2021-08-13 18:56:13 字數 1123 閱讀 3328

第一種在oracle資料庫中建立sequences 和 triggers(觸發器)兩個必須配合使用才可以生效。

舉例:sequences 的建立,可以使用plsql工具新建。

-- create sequence

create sequence cmu_system_log_log_id

minvalue 1

maxvalue 99999999999999999999

start with 261

increment by 1

cache 20;

triggers的建立

create or replace trigger cmu_system_log_log_id

before insert on cmu_system_log

for each row

begin

select  cmu_system_log_log_id.nextval into :new.log_id from dual;

end;

第二種方法:當第一種方法不可行或者可能會提示許可權不足的時候,使用第二種方法。

第一步相同 先建立:sequences

-- create sequence

create sequence cmu_system_log_log_id

minvalue 1

maxvalue 99999999999999999999

start with 261

increment by 1

cache 20;

insert into cmu_system_log

log_id,

user_id,

username,

description,

methods,

log_type,

request_ip,

exceptioncode,

exception_detail,

params,

time,

cmu_system_log_log_id.nextval,

#,#,

#,#,

#,#,

#,#,

#,#,

之後就結束了。

Oracle 實現自增列

sql server中實現自增列只需要將字段定義為identity 1,1 而在oracle中自增列需要使用乙個序列 sequence 和觸發器來實現。1.建立sequence,首先需要有create sequence或者create any sequence許可權 1 create sequenc...

oracle自增列的問題

建立表 create table test id number primary key,name varchar2 not null 建立序列 create sequence test seq start with 1 increment by 1 建立觸發器 create or replace t...

Oracle中實現自增列

oracle中新增自增列 觸犯器和序列實現 create orreplace trigger 觸發器名 before insert on his mz sfmx foreach row declare last sequence number last insertid number begin i...