加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

oracle中创建表主键id依据sequence自增长

发布时间:2020-12-12 15:29:05 所属栏目:百科 来源:网络整理
导读:SQL create table sms_activity( 2id number, 3student_name varchar2(50),51); font-family:Arial; font-size:14px; line-height:26px"> 4 begin_time varchar2(30),51); font-family:Arial; font-size:14px; line-height:26px"> 5 end_time varchar2(30),5

SQL> create table sms_activity(

2id number,

3student_name varchar2(50),51); font-family:Arial; font-size:14px; line-height:26px"> 4 begin_time varchar2(30),51); font-family:Arial; font-size:14px; line-height:26px"> 5 end_time varchar2(30),51); font-family:Arial; font-size:14px; line-height:26px"> 6 content varchar2(600)

7 );

表已创建。

SQL> commit;

提交完成。

SQL> alter table sms_activity addprimary key (id);

表已更改。

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_NAMEVARCHAR2(50)

BEGIN_TIMEVARCHAR2(30)

END_TIMEVARCHAR2(30)

CONTENTVARCHAR2(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.idfrom dual; end;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读