您好,登錄后才能下訂單哦!
我相信對于oracle初學者來說,當遇到領導說將成千上萬條的數據插入到表中的時候會很抓狂。當時我是將幾十條數據插入到表中,我是insert into一句句插入進去了,執行了幾十遍我就已經瘋了,后來發現可以批量插入,省去了好多時間和精力。
方法一:使用union all拼接(該方法和inser into一句句插入差不多,但是執行速度快了不少)
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...(可以理解為數據復制,將tmp2表中符合的數據插入到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;
另外,該方法還支持多表插入數據:
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;
大功告成,再也不用因為領導讓批量插入數據浪費時間而加班了!
另外,大家有什么更好的方法歡迎留言,大家一起學習進步!不加班!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。