ORACLE如何批量插入(Insert)
ORACLE批量插入(Insert)
Oracle批量插入語(yǔ)句與其他數(shù)據(jù)庫(kù)不同,下面列出不同業(yè)務(wù)需求的插入
假設(shè)有一張表Student
-- 學(xué)生表 create table Student( id Varchar2(11) primary key, name varchar2(32) not null, sex varchar2(3) not null, age smallint, tel varchar(16) )
注意:
其中[]中代表可選;<>代表必須;table_column的數(shù)量必須和column_value一致,并且數(shù)據(jù)類(lèi)型要相匹配
1. 單條自定義記錄插入
命令格式:
insert into table <tableName>[(<table_column1>,<table_column2>...)] values([<column_value1>,<column_value2>...])
示例:
insertinto Student(id, name, sex, age, tel) values (‘13', ‘jack', ‘男', 13, ‘13345674567')
2. 多條自定義記錄插入
命令格式1:
insert all into <tableName>[(<table_column1>,<table_column2>...)] values([<column_value1>,<column_value2>...]) [into <tableName>[(<table_column1>,<table_column2>...)] values([<column_value1>,<column_value2>...])]... select <table_value1>[,<table_value2>...] from dual;
示例:
insert all into Student(id, name, sex, age, tel) into Student(id, name, sex, age, tel) values ('12', 'jack1', '男', 12, '13345674567' ) into Student(id, name, sex, age, tel) values ('13', 'jack2', '男', 13, '13345674567') select '14', 'jack', '男', 13, '13345674567' from dual;
注意: 我也不知道為什么要加select from dual語(yǔ)句,反正不加就報(bào)錯(cuò)
命令格式2:
insert into <tableName>[(<table_column1>,<table_column2>...)] select [<column_value1>,<column_value2>...] from dual [ union select [<column_value1>,<column_value2>...] from dual ]...
示例:
insert into student(id, name, sex, age, tel) select '10' , 'ldh', '男', 19, '14445674567' from dual union select '11' , 'zxy', '男', 20, '13333674567' from dual union select '12', 'zxc', '男', 21, '15555674567' from dual
命令格式3:
insert into <tableName1>[(<table_column1>,<table_column2>...)] select [<column_value1>,<column_value2>...] from <tableName2> [where [...]] union [ select [<column_value1>,<column_value2>...] from <tableName2> [where [...] ]]
示例:
insert into student(id, name, sex, age, tel) select (id-1)||'' as id, name, sex, age, tel from Student where id='11' union select id||'1' as id, name, sex, age, tel from Student where id like '1%' union select id||'2' as id, name, sex, age, tel from Student where id like '%1' and id/3 != 0
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
基于oracle小數(shù)點(diǎn)前零丟失的問(wèn)題分析
本篇文章是對(duì)oracle小數(shù)點(diǎn)前零丟失的問(wèn)題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-05-05解析一個(gè)通過(guò)添加本地分區(qū)索引提高SQL性能的案例
今天接到同事求助,說(shuō)有一個(gè)select query,在Oracle上要跑一分多鐘,他希望能在5s內(nèi)出結(jié)果,以下就是解決這個(gè)問(wèn)題的方法,需要的朋友可以參考下2013-07-07Oracle備庫(kù)宕機(jī)啟動(dòng)的完美解決方案
這篇文章主要給大家介紹了關(guān)于Oracle備庫(kù)宕機(jī)啟動(dòng)的完美解決方案,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Oracle具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05PL/SQL遠(yuǎn)程備份和恢復(fù)Oracle數(shù)據(jù)庫(kù)
這篇文章主要為大家詳細(xì)介紹了PL/SQL遠(yuǎn)程備份和恢復(fù)Oracle數(shù)據(jù)庫(kù)的具體方法,感興趣的小伙伴們可以參考一下2016-09-09Oracle數(shù)據(jù)庫(kù)及圖形化界面安裝教程圖解
本文通過(guò)圖文并茂的形式給大家介紹了Oracle數(shù)據(jù)庫(kù)及圖形化界面安裝教程,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2018-08-08Oracle 子程序參數(shù)模式,IN,OUT,NOCOPY
Oracle 子程序參數(shù)模式主要有IN,OUT,NOCOPY,IN和OUT可以組合,OUT和NOCOPY也可以組合使用.2009-10-10oracle group by語(yǔ)句實(shí)例測(cè)試
本文將詳細(xì)介紹oracle group by語(yǔ)句,以實(shí)例進(jìn)行測(cè)試,需要的朋友可以參考下2012-11-11Oracle存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)創(chuàng)建方法(詳解)
下面小編就為大家?guī)?lái)一篇Oracle存儲(chǔ)過(guò)程和存儲(chǔ)函數(shù)創(chuàng)建方法(詳解)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-06-06