如何让Oracle表字段自动增长

来源:互联网 发布:js怎么设置div的大小 编辑:程序博客网 时间:2024/05/10 03:20

 

1,订单表order1:

order_id       订单号            Number(30)       Not null  Pk
user_id        用户编号         Number(30)        Not null  Fk
pro_id          产品号            Number(30)       Not null  Fk
p_quantity   消费产品数量   Number(10)        Not null
pay              消费金额          Number(10,2)
c_number    信用卡号          Number(30)
pay_id         支付方式编号    Number(5)         Not null   Fk
state-id       订单状态编号    Number(5)         Not null    Fk
 
 
 
 
 
 
 

2, --创建订单表

create table order1(

order_id number(30) constraint pk_order_id primary key,

user_id number(30) not null,

pro_id number(30) not null,

p_amount number(10),

pay number(10),

c_number number(30),

pay_id number(5) not null,

state_id number(5) not null

);

--建立外键

alter table order1

add constraint order1_fk1 foreign key (pay_id)references pay(pay_id);

 

alter table order1

add constraint order1_fk2 foreign key (state_id) references state(state_id);

 

alter table order1

add constraint order1_fk3 foreign key (pro_id) references product(pro_id);

 

alter table order1

add constraint order1_fk4 foreign key (user_id) references use(user_id);

 

 

 

3,--自动生成订单序列

create sequence t_order_id_seq

increment by 1

start with 8100001

nomaxvalue

nocycle;

4,--创建触发器

create or replace trigger order_id_trigger

before insert

on order1

for each row

declare

newid number(18,0);

begin

select t_order_id_seq.nextval into newid from dual;

:new.order_id:=newid;

end;

 

原创粉丝点击