ORACLE9I中建立自增字段的方法、Sequence、triger
我们知道在Oracle中并没有象其他数据库中的自增字段,那么我们怎么来实现Oracle的自增字段功能呢?
通常我们都是通过Oracle中的Sequence和Trigger来
下面的方法是我在工作中总结并且多次使用的,较为方便,放于此处与大家分享。
1、首先建立一个创建自增字段的存储过程
create or replace procedure pr_CreateIdentityColumn
(tablename varchar2,columnname varchar2)
as
strsql varchar2(1000);
begin
strsql := 'create sequence seq_'||tablename||' minvalue 1 maxvalue
999999999999999999 start with 1 increment by 1 nocache';
execute immediate strsql;
strsql := 'create or replace trigger trg_'||tablename||' before
insert on '||tablename||' for each row
begin
select seq_'||tablename||'.nextval into :new.'||columnname||' from
dual;
end;';
execute immediate strsql;
end;
2、Oracle中执