oracle中创建表主键id依据sequence自增长
2017-01-06 14:47
441 查看
SQL> create table sms_activity(
2 id number,
3 student_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;
2 id number,
3 student_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;
相关文章推荐
- oracle中创建表主键id依据sequence自增长
- <四>Oracle创建sequence序列,实现主键自增长
- oracle主键自动增长的实现 Oracle Sequence oracle maxid自动生成--ORA-00001: 违反唯一约束条件 (NAME.SYS_C005547)产生的原因之一(select * from all_cons_columns w
- Oracle主键ID设置自动增长(序列+触发器)
- oracle 表主键ID的sequence方法(hibernate)
- oracle利用触发器和sequence实现主键自增长
- 关于Hibernate的oracle主键id生成策略uuid、native和sequence
- Oracle使用序列创建自增字段(主键自动增长)
- Hibernate注解映射sequence时出现无序增长问题+hibernate 映射 oracle ID自动增长
- Oracle学习:表的创建与主键自增长
- hibernate 与oracle在id自增长sequence的思考与总结
- ibatis获取主键自动增长ID(Oracle/MSSQL/mysql),取得刚插入的ID编号
- oracle创建序列和触发器使主键ID自增
- 关于Hibernate的oracle主键id生成策略uuid、native和sequence
- ibatis获取主键自动增长ID Oracle/MSSQL/mysql
- Oracle主键ID设置自动增长(序列+触发器)
- 在oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)
- powerdesigner创建oracle 数据库表,设置表主键列为自动增长。 .
- 关于Hibernate的oracle主键id生成策略uuid、native和sequence
- oracle中插入一条数据,id自动增长,插入之后怎么得到这个id(sequence的使用)