自动增加字段?
第一步:创建SEQUENCE
create sequence s_country_id increment by 1 start with 1 maxvalue 999999999;
第二步:创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE
create or replace trigger bef_ins_t_country_define
before insert on t_country_define
referencing old as old new as new for each row
begin
select s_country_id.nextval into :new.country_id from dual;
end;
/
第一步:创建SEQUENCE
create sequence s_country_id increment by 1 start with 1 maxvalue 999999999;
第二步:创建一个基于该表的before insert 触发器,在触发器中使用该SEQUENCE
create or replace trigger bef_ins_t_country_define
before insert on t_country_define
referencing old as old new as new for each row
begin
select s_country_id.nextval into :new.country_id from dual;
end;
/
解决方案 »
- exp 导出表数据,报ora-08103错误,无法导出数据
- 菜鸟请大家帮忙看下数据库表语句
- Error while trying to retrieve text for error
- Oracle, 分组统计问题
- 简单的条件选择问题。
- select name,age,address from student order by 3 desc;
- CURSOR中的where子句不能获得参数的问题。
- 利用触发器使oracle和sql server的数据同步?
- 如何建立用户
- 新手求指教。oracle有没有SQLSERVER中类似openrowset的功能?
- 建立作业时出现的错误,请大家帮忙看看,来者有分!
- 存储过程
我的意思是这样的:
比如用户的id,我想每增加一条纪录,id值就自动的加一。不知道在oracle里怎么实现这样的sql语句。
info_table:id number
name varchar2比如你想让id字段自增,需要先创建SEQUENCE,比如名称叫做:SEQ_INFO
然后 insert into info_table(id,name) values (SEQ_INFO.nextval,'newname')
即可。