为oracle的数据表建立自增字段

大致思路:在oracle中创建一个存放增长值的对象,然后每次向表中插入数据时都调用这个对象的nextval,这样就实现了自增。

第一步:创建一个测试表--T_USERINFO

create table T_USERINFO(
c_id number(10),
c_name varchar2(58)
)

第二步:创建存放增长值的对象--seq_userinfo

create sequence seq_userinfo
minvalue 1
maxvalue 999999999999999
increment by 1 
start with 111
cache 24
order
cycle;

第三步:测试,插入数据

insert into T_USERINFO values( seq_userinfo.nextval,'名字'''||seq_userinfo.currval||'''');

如何用存储过程批量得去插入数据呢?

DECLARE 
       TYPE test_rec IS RECORD(
	           t_start number(10), 
	           t_end number(10) NOT NULL :='100'-- 默认一百条记录终止
        );    
       v_test test_rec; 
BEGIN
  delete from T_USERINFO;-- 清空以前的记录
	  v_test.t_start:= 1; --再次声明变量值
    v_test.t_end:= 24; --再次声明变量值
   LOOP
   EXIT WHEN v_test.t_start>v_test.t_end;
        dbms_output.put_line('v_test.t_start的当前值:'||v_test.t_start); -- 输出语句
        v_test.t_start := v_test.t_start + 1;
        insert into T_USERINFO values( seq_userinfo.nextval,'名字'''||seq_userinfo.currval||''''); --插入语句
        commit;   
   END LOOP;    
END; 
这个存储过程写得比较复杂,还可以更简单,比如用for等的循环,在此不再阐述了、




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值