oracle怎么给表字段自增,为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等的循环,在此不再阐述了、



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值