第一種在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...