oracle过程求助,向一个表批量插入数据 5

oracle过程求助,向一个表批量插入数据表结构tablea(id1varchar2(16);id2varchar2(16);id3interger;valuevarch... oracle过程求助,向一个表批量插入数据 表结构 table a (id1 varchar2(16) ;id2 varchar2(16);id3 interger ;value varchar(20) )

现在情况是表里面已经有数据 id1=00001 ,想通过过程实现 插入数据 01500<id1<04000 , id2 id3 value 的值都和id1的值相同
展开
 我来答
micro0369
2014-02-14 · TA获得超过1.2万个赞
知道大有可为答主
回答量:9250
采纳率:85%
帮助的人:4026万
展开全部
供参考:

declare
 vi number;
 vc varchar2(20);
begin
   vi := 1501;
   loop
      exit when vi >= 4000;
      insert into a(id1,id2,id3,value)
      select lpad(to_char(vi),5,'0'),id2,id3,value from a where id1 = '00001';
      vi:= vi+1;
   end loop;
   commit;
end;
追问
不好意思 好久没上线,如果  id1=00001 有多条记录呢 能实现么,就如ID是一个班级号 ,然后ID2 ID3  value 是班级的各种成绩描述 ,这个要怎么实现呢
追答
给一个数据的例子吧。
Kingboo_cn
推荐于2017-10-03
知道答主
回答量:27
采纳率:0%
帮助的人:10.1万
展开全部
DECLARE
A_RECORD A%ROWTYPE ;
I INTEGER := 1501 ;
BEGIN
SELECT * INTO A_RECORD FROM A WHERE ID1 = '00001';
LOOP
EXIT WHEN I >= 4000 ;
INSERT INTO A VALUES ('0'||I,A_RECORD.ID2,A_RECORD.ID3,A_RECORD.VALUE);
I := I+1;
END LOOP;
COMMIT;
END;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
朝闻大道
2014-03-30
知道答主
回答量:10
采纳率:100%
帮助的人:5251
展开全部
哇塞,已经过期了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式