oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。
下面给大家讲个例子:
1、在Oracle中创建一个表:
1、创建一个表 create table t_client (id number(4) primary key, pid number(4) not null, name varchar2(30) not null, client_id varchar2(10), client_level char(3), bank_acct_no varchar2(30), contact_tel varchar2(30), address varchar2(30), zip_code varchar2(10), is_leaf char(1) default ‘y‘ check (is_leaf in(‘y‘,‘n‘)), is_client char(1) default ‘n‘ check (is_client in(‘y‘,‘n‘) ));
2、假设关键字段为id,建一个序列,代码为:
create sequence seq_t_client_id minvalue 1 maxvalue 99999999 start with 1 increment by 1 nocache order;
3、建解发器代码为:
CREATE OR REPLACE TRIGGER trg_t_client_id BEFORE INSERT ON Users FOR EACH ROW BEGIN SELECT seq_t_client_id.nextval INTO :new.id FROM dual; END;
时间: 2024-10-16 01:20:07