需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的几条数据 (数据就来自这张表)怎么做?

需要需要往同一张表插入 多条 主键递增 其他字段数值完全相同的几条数据 (数据就来自这张表)怎么做?

5个回答

 declare
aa integer :=1;
begin
while aa<10
loop
insert into test values('test',aa);
aa:=aa+1;
end loop;
end;
borntoking
borntoking 我把sql写在最后 了 多谢大侠帮我看看
接近 5 年之前 回复
borntoking
borntoking declare
接近 5 年之前 回复
borntoking
borntoking 或者我写一下我理解的SQL 你帮我看看语法错误吧 死活运行不了
接近 5 年之前 回复
borntoking
borntoking 或者我写一下我理解的SQL 你帮我看看语法错误吧 死活运行不了
接近 5 年之前 回复
borntoking
borntoking 谢谢 你说的很有帮助。你的例子中aa是每次都不一样的。我的需求里面有个bb也是每次都不一样的 ,但是bb是来自于一个固定长度数组,里面有固定长度和固定内容的东西需要插入到test表 怎么做呢??谢谢
接近 5 年之前 回复

比如你的表的结构是 a(id,name,age) 插入原来表中id为1,2,3的数据,设置主键递增,做法是
insert into a(name,age) selec name,age from a where id in (1,2,3)

INSERT INTO 表名(列1,列2) SELECT 列1,列2 FROM 表名;
列中不包含主键

declare
type vararray is table of varchar2(50) ;
var_arr vararray ;
begin
var_arr := vararray(20030629,20030629);
for i in 1..2 loop
loop

insert into X80_account (X80KEY,RCD,RMD,RS,RSMD,AGENCYKEY,PERSONKEY, BUSINESSKEY,SUPPLIERKEY,DBDATE,DBUSERID,DBBATCH,DBSEQ,DBTRANCODE,DBREFYEAR,DBACTCODE,DBAMOUNT,PAYMENTKEY,CRCODE,CRREFYEAR,CRACTCODE,CRAMOUNT,TRANSFEREDTO)
select (select max(X80KEY)+1 from X80_account) as X80KEY , RCD,RMD,RS,RSMD,var_arr(i) as AGENCYKEY,PERSONKEY, BUSINESSKEY,SUPPLIERKEY,DBDATE,DBUSERID,DBBATCH,DBSEQ,DBTRANCODE,DBREFYEAR,DBACTCODE,DBAMOUNT,PAYMENTKEY,CRCODE,CRREFYEAR,CRACTCODE,CRAMOUNT,TRANSFEREDTO from X80_account
where x80key='2530753'

end loop;
end;

declare
**type vararray is table of varchar2(50) ;
var_arr vararray ;
begin
var_arr := vararray(20030629,20030629);
for i in 1..2 loop **
loop

insert into X80_account (X80KEY,RCD,RMD,RS,RSMD,AGENCYKEY,PERSONKEY, BUSINESSKEY,SUPPLIERKEY,DBDATE,DBUSERID,DBBATCH,DBSEQ,DBTRANCODE,DBREFYEAR,DBACTCODE,DBAMOUNT,PAYMENTKEY,CRCODE,CRREFYEAR,CRACTCODE,CRAMOUNT,TRANSFEREDTO)
select (select max(X80KEY)+1 from X80_account) as X80KEY , RCD,RMD,RS,RSMD,**var_arr(i) as AGENCYKEY**,PERSONKEY, BUSINESSKEY,SUPPLIERKEY,DBDATE,DBUSERID,DBBATCH,DBSEQ,DBTRANCODE,DBREFYEAR,DBACTCODE,DBAMOUNT,PAYMENTKEY,CRCODE,CRREFYEAR,CRACTCODE,CRAMOUNT,TRANSFEREDTO from X80_account
where x80key='2530753'

end loop;
end;

tdownkid
tdownkid 我也遇到这问题,字段实在太多
11 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问