在oracle表中怎样创建自增长字段

第一步,创建表
create table tb_person3
   (id number,
   name varchar2(255),
   sex varchar2(10),
   age number,
   birthday timestamp,
   primary key(id))

第二步,创建序列
create sequence tb_person3_seq

第三步,创建触发器
create or replace trigger tb_person3_trg
   before insert on tb_person3
   for each row
   begin
   if :new.id is null then
   select tb_person3_seq.nextval into :new.id from dual;
   end if;
   end;

 

 

declare totalcount number; TSQL varchar2(1024); begin select count(*) into totalcount from user_tables where table_name = 'tb_person3'; if totalcount > 0 then dbms_output.put_line('该表存在!'); else dbms_output.put_line('该表不存在或当前用户无权访问!'); TSQL := 'create table tb_person3 (id number, name varchar2(255), sex varchar2(10), age number, birthday timestamp, primary key(id))'; execute immediate TSQL; TSQL := 'create sequence tb_person3_seq'; execute immediate TSQL; TSQL := 'create or replace trigger tb_person3_trg before insert on tb_person3 for each row begin if :new.id is null then select tb_person3_seq.nextval into :new.id from dual; end if; end;'; execute immediate TSQL; end if; end;

你可能感兴趣的:(Oracle学习笔记)