第一步:创建sequence
create sequence seq_id increment by 1 start with 1 maxvalue 999999999; 第二步:创建一个基于该表的before insert 触发器tri_id,在触发器中使用该sequence假设table_in为插入的表名,其中id 为此表的一个要自动增加的字段 create or replace trigger tri_id
before insert on table_in
referencing old as old new as new
for each row declare
i number; begin
select seq_id.nextval into i from dual;
:new.id :=i;
end;
create sequence seq_id increment by 1 start with 1 maxvalue 999999999; 第二步:创建一个基于该表的before insert 触发器tri_id,在触发器中使用该sequence假设table_in为插入的表名,其中id 为此表的一个要自动增加的字段 create or replace trigger tri_id
before insert on table_in
referencing old as old new as new
for each row declare
i number; begin
select seq_id.nextval into i from dual;
:new.id :=i;
end;
解决方案 »
- oracle数据乱码问题````求解答```
- 存储过程拦截器调用失败 ORA-06502
- ORACLE 无法从套接字读取更多的数据 错误
- 我装的oracel 9i数据库在启动企业管里面数据库无法启动?
- 清理归档日志问题
- 执行execute immediate ,为什么报错?
- SQL*PLUS里调用一个用PL/SQL写的函数的语法是怎样的?在PB中调用又是怎么样的?在线,谢谢!
- 一颗红星,闪闪分!
- 请问如何能恢复数据??????急急急!!!!
- Oracle 权限管理问题
- [请教]在Oracle中按时间段查询的SQL!在线等!
- 把一个gb2312编码的oracle数据库倒入到utf-8的oracle数据库怎么做
create or replace trigger tri_id
before insert on table_in
for each row
begin
select seq_id.nextval into :new.id from dual;
end;
create sequence seq_name
increment by 1
start with 1
maxvalue 99999999
nocycle
cache 10--用序列
insert into table(id,name) values(seq_name.nextval,'yourname');