新聞中心
我相信對(duì)于oracle初學(xué)者來(lái)說(shuō),當(dāng)遇到領(lǐng)導(dǎo)說(shuō)將成千上萬(wàn)條的數(shù)據(jù)插入到表中的時(shí)候會(huì)很抓狂。當(dāng)時(shí)我是將幾十條數(shù)據(jù)插入到表中,我是insert into一句句插入進(jìn)去了,執(zhí)行了幾十遍我就已經(jīng)瘋了,后來(lái)發(fā)現(xiàn)可以批量插入,省去了好多時(shí)間和精力。
站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到北京網(wǎng)站設(shè)計(jì)與北京網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:網(wǎng)站建設(shè)、成都網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、國(guó)際域名空間、網(wǎng)絡(luò)空間、企業(yè)郵箱。業(yè)務(wù)覆蓋北京地區(qū)。
方法一:使用union all拼接(該方法和inser into一句句插入差不多,但是執(zhí)行速度快了不少)
insert into tmp(id,name,salary,address)
select ('001','張三','100','上海') from dual
union all
select ('002','李四','200','重慶') from dual
union all
select ('003','王五','300','北京') from dual;
commit;
方法二:使用insert into...select...(可以理解為數(shù)據(jù)復(fù)制,將tmp2表中符合的數(shù)據(jù)插入到tmp1中,后可加where條件)
insert into tmp1(id,name,salary,address)
select id,name,salary,address from tmp2
(where ...);
commit;
方法三:使用insert all
insert all
into tmp(id,name,salary,address) values('001','張三','100','上海')
into tmp(id,name,salary,address) values('002','李四','200','重慶')
into tmp(id,name,salary,address) values('003','王五','300','北京')
select 1 from dual;
commit;
另外,該方法還支持多表插入數(shù)據(jù):
insert all
into tmp1(id,name,salary,address) values('001','張三','100','上海')
into tmp2(id,name,salary,address) values('002','李四','200','重慶')
into tmp3(id,name,salary,address) values('003','王五','300','北京')
select 1 from dual;
commit;
大功告成,再也不用因?yàn)轭I(lǐng)導(dǎo)讓批量插入數(shù)據(jù)浪費(fèi)時(shí)間而加班了!
另外,大家有什么更好的方法歡迎留言,大家一起學(xué)習(xí)進(jìn)步!不加班!
網(wǎng)站欄目:如何批量向表中插入數(shù)據(jù)?
當(dāng)前地址:http://fisionsoft.com.cn/article/jpeidd.html