oracle建表主键自增序列

SQL> create table sms_activity(

 2  id number,

 3  activity_name varchar2(50),

 4  begin_time varchar2(30),

 5  end_time varchar2(30),

 6  content varchar2(600)

 7  );

表已创建。

SQL> commit;

提交完成。

SQL> alter table sms_activity addprimary key (id);

表已更改。

SQL> commit;

提交完成。

SQL> create sequence sms_activity_seq

 2  minvalue 1

 3  maxvalue 9999999999

 4  increment by 1

 5  cache 20

 6  ;

序列已创建。

SQL> create or replace triggerbi_activity

 2  before insert on sms_activity

 3  for each row

 4  begin

 5  select sms_activity_seq.nextval into  :NEW.ID  from dual;

 6  end;

 7  /

触发器已创建

SQL>desc  sms_activity

 名称                                      是否为空? 类型

 ------------------------------------------------- ----------------------------

 ID                                        NOTNULL NUMBER

 ACTIVITY_NAME                                     VARCHAR2(50)

 BEGIN_TIME                                        VARCHAR2(30)

 END_TIME                                          VARCHAR2(30)

 CONTENT                                           VARCHAR2(600)

SQL> alter table sms_activity add(create_time varchar2(30),createby varchar2(20),modify_timevarchar2(30),modifyby varchar2(20));

表已更改。

SQL> commit;

创建序列
create sequence  seq_createid
minvalue 1  maxvalue 999999
increment by 1
start with 1
cache 20
noorder cycle;
创建触发器
create or replace trigger  tr_createid
before insert on tb_user
for each row
when(new.id is null)
 begin
select seq_createid.nextval into  :new.id  from dual;
end;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

皮特大熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值