日期:2014-05-16 浏览次数:21272 次
oracle没有ORACLE自增字段这样的功能,但是通过触发器(trigger)和序列(sequence)可以实现。 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') )); 假设关键字段为id,建一个序列,代码为: create sequence seq_t_client_id minvalue 1 maxvalue 99999999 start with 1 increment by 1 nocache order; 建解发器代码为: CREATE OR REPLACE TRIGGER trg_t_client_id BEFORE INSERT ON t_client FOR EACH ROW BEGIN SELECT seq_t_client_id.nextval INTO :new.id FROM dual; END; /
------解决方案--------------------
楼上两位已经给了很满意的答案了
------解决方案--------------------
参考:
http://school.itzcn.com/special-spid-35.html
上面讲解的比较详细,
希望对楼主有所帮助。