oracle建表并主键自增

oracle建表,并设主键自增


/* 
   创建用户表      
   */
create table user_info_T(
   id integer not null ,
   user_id varchar(50),
   user_name varchar(50),
   user_password varchar(50),
   user_sex varchar(20),
   user_age integer ,
   user_address varchar(50),
   user_batch varchar(50),
   constraint user_info_T_pk primary key (id) 
);

/*

   创建自增长序列
*/ 

   drop sequence dectuser_tb_seq; /* 若以存在则删除*/
   
   create sequence dectuser_tb_seq minvalue 1 maxvalue 99999999
   increment by 1
   start with 1;   
   
/*
创建触发器
*/   
          create or replace trigger dectuser_tb_tri
          before insert on user_info_T     /*触发条件:当向表dectuser执行插入操作时触发此触发器*/
           for each row                        /*对每一行都检测是否触发*/
           begin                                  /*触发器开始*/
                 select dectuser_tb_seq.nextval into :new.id from dual;   /*触发器主题内容,即触发后执行的动作,在此是取得序列dectuser_tb_seq的下一个值插入到表user_info_T中的id字段中*/
          end;

/* 
提交
*/ 
commit

/*
   测试
*/

    insert into user_info_T(user_id,user_name,user_password,User_Sex,User_Age) values ('warren','石头','warren','M',22);/*插入测试值*/
   
    
    select * from user_info_T /*查询*/


u013673370
  • u013673370

    2015-04-23 16:332楼
  • 按你的办法,触发器失败了,提示:success with compilation error
u013673370
  • u013673370

    2015-04-23 16:341楼
  • 按你的办法,触发器失败了,提示:success with compilation error

猜你喜欢

转载自blog.csdn.net/songchunhong/article/details/78790762