我以前是用SqlServer的,在SqlServer中数据表有自增字段,因此我就用自增字段作为表的主键
也很好建立关系,现在在Oracle中没有了自增字段在设计数据库中很不方便,在网上一些方法也
主要是叫我用序列和触发器来实现自增字段,但问题又出来了就是编程时向数据库中插入数据的
时候有时候不是将数据插入在表的最后一行以后,有时候是从中间的一行后插入的,这就是所谓的
无序性,这给编程带来了很多不便,这这样解决?
请问各位大虾你们是怎么设计数据库的?最好付上代码-- Create table
create table worksum_yuangong
(
  yid       number not null,
  realname  varchar2(20),
  danwei    varchar2(20),
  adminflag varchar2(20),
  pwd       varchar2(20),
  username  varchar2(20)
)
tablespace TEST
  storage
  (
    initial 64K
    minextents 1
    maxextents unlimited
  );
-- Create/Recreate primary, unique and foreign key constraints 
alter table worksum_yuangong
  add constraint worksum_yuangong_key primary key (YID);
-- Create sequence 
create sequence worksum_yuangong_SEQ
start with 1
increment by 1
maxvalue 999999999999999999999999999;
-- create id_up trigger
create or replace trigger worksum_yuangong_YID
  before insert on worksum_yuangong
  for each rowbegin
select worksum_yuangong_SEQ.nextval into :new.yid from dual; 
end; 
/
-- create upd trigger
create or replace trigger worksum_yuangong_UPDATE
  before update of YID on worksum_yuangong
  for each rowbegin
 raise_application_error(-20000,'你不能更新主键!'); 
end worksum_yuangong_UPDATE;
/