oracle怎么多行插入 oracle 連接字段多行值

Oracle 批量插入數據怎么做

Oracle批量插入數據可用PL/SQL的命令窗口執行。

寬甸ssl適用于網站、小程序/APP、API接口等需要進行數據傳輸應用場景,ssl證書未來市場廣闊!成為成都創新互聯的ssl證書銷售渠道,可以享受市場價格4-6折優惠!如果有意向歡迎電話聯系或者加微信:028-86922220(備注:SSL證書合作)期待與您的合作!

使用工具:PL/SQL

步驟:

1、登錄PL/SQL到指定數據庫。

2、登錄后,點擊左上方“紙片”狀圖標,然后選擇“Command

Window”選項,進入命令窗口。

3、然后在本地電腦編寫insert(即插入語句),每句以逗號分隔。如圖:

4、然后為文件起名字,以.sql為文件后綴,如“執行.sql”,保存到指定路徑,如

c盤

data目錄下。

5、在打開的命令窗口下執行如下語句:

1

@c:\data\執行.sql

其中“@”為必寫內容,“c:\data\”為sql文件保存路徑,“執行.sql”為要執行的腳本文件名。

6、敲擊

回車鍵

執行,執行后會有成功提示,如圖:

7、最后去目標表查詢數據,檢驗結果成功。其中如圖的四條為新插入的數據。

Oracle中使用PL/SQL怎樣用循環插入多條數據?

使用loop循環,比如:

for item in (select a,b,c from table_a where 條件) loop

insert into table_b(a,b,c) values (item.a,item.b,item.c);

end loop;

也可以使用索引表循環,以上只是一個簡單的例子,需要根據你的具體情況選擇循環方式。

1、采用insert into values 語句插入一條,寫很多條語句即可多條數據,這種主要針對于離散值以及一些基礎信息的錄入,如:insert into test(xh,mc) values('123','測試');

如果插入的數據有規律,可利用for、loop循環插入,主要用于批量生成測試數據

begin

for i in 1 .. 100 loop

insert into test(xh,mc) values(i||'','測試');

end loop;

end ;。

2、采用insert into selct from 語句來一次性插入一個集合,這種主要依據于要插入的數據源已經存儲于數據庫對象中,或者利用dual虛表來構造數據,經過加工后寫入一個集合。

insert into test (xh,mx) select '123','測試' from dual;

3、采用plsql等工具、或者oracle的imp、impdp命令來導入,這種主要用數據庫與數據庫之間的大批量數據導入,導入的數據格式為plsql的pde、oracle的dmp等。dmp文件可使用

table_exists_action參數控制導入動作:replace替換原表,truncate清除原表數據再導入,append增量導入數據,當然impdp數據泵的導入要依賴于directory路徑。

impdp 用戶名/密碼 dumpfile=123.dmp logfile=123.log directory=imp_dir tables=test table_exists_action=append。

4、使用excel文件直接拷貝。這種主要用于要寫入的數據已是excel文件或者行列分明的其它格式文件,每一列的值和表結構相對應,可直接打開表的行級鎖,把數據拷貝進入。

Oracle數據的批量插入

前兩天接到一個需求——需要編程將SQL Server中的數據插入至Oracle 數據大約有 多萬條記錄 開始的時候我采取了直接構建SQL插入的方式 結果耗時太長 為了提高性能我上網找了資料 最終采用DataAdapter批量插入至Oracle 提高了性能

代碼如下

一 直接構建SQL語句插入

VB NET

sw Start()

Read Z J from SQL Server

Dim sqlCmd As New SqlCommand()

sqlCmd Connection = sqlConnection

sqlCmd CommandText = SELECT * FROM? Z J

Dim sqlDr As SqlDataReader

sqlDr = sqlCmd ExecuteReader()

Dim cmdInsertZ J As New OracleCommand()

cmdInsertZ J Connection = oraConnection

cmdInsertZ J CommandText = BuildSQLStatement(SQLType Insert z j )

Dim plantLever material oldMaterialNum materialDescription As Object

While sqlDr Read()

?plantLever = ReadSqlDataReader(sqlDr )

material = ReadSqlDataReader(sqlDr )

oldMaterialNum = ReadSqlDataReader(sqlDr )

materialDescription = ReadSqlDataReader(sqlDr )

Insert to Oracle table Z J

cmdInsertZ J Parameters AddWithValue( :plantLever plantLever)

cmdInsertZ J Parameters AddWithValue( :material material)

cmdInsertZ J Parameters AddWithValue( :oldMaterialNum oldMaterialNum)

cmdInsertZ J Parameters AddWithValue( :materialDescription materialDescription)

cmdInsertZ J ExecuteNonQuery()

End While

sw Stop()

Loger Info( Reading z j form sql sever used sw Elapsed TotalSeconds ToString())

二 采用DataAdapter實現批量插入

VB NET

sw Start()

Read Z J from SQL Server

Dim sqlCmd As New SqlCommand()

sqlCmd Connection = sqlConnection

sqlCmd CommandText = SELECT * FROM? Z J

Dim sqlDr As SqlDataReader

sqlDr = sqlCmd ExecuteReader()

Dim cmdInsertZ J As New OracleCommand()

cmdInsertZ J Connection = oraConnection

cmdInsertZ J CommandText = BuildSQLStatement(SQLType Insert z j )

Dim dtSqlZ J As New DataTable

dtSqlZ J Columns Add( plantLever )

dtSqlZ J Columns Add( material )

dtSqlZ J Columns Add( oldMaterialNum )

dtSqlZ J Columns Add( materialDescription )

Dim plantLever material oldMaterialNum materialDescription As Object

While sqlDr Read()

plantLever = ReadSqlDataReader(sqlDr )

material = ReadSqlDataReader(sqlDr )

oldMaterialNum = ReadSqlDataReader(sqlDr )

materialDescription = ReadSqlDataReader(sqlDr )

dtSqlZ J Rows Add(plantLever material oldMaterialNum materialDescription)

End While

sw Stop()

Loger Info( Reading z j form sql sever used sw Elapsed TotalSeconds ToString())

sw Start()

Dim oraDa As New OracleDataAdapter()

oraDa InsertCommand = cmdInsertZ J

oraDa InsertCommand Parameters Add( :plantLever OracleType Char plantLever )

oraDa InsertCommand Parameters Add( :material OracleType Char material )

oraDa InsertCommand Parameters Add( :oldMaterialNum OracleType Char oldMaterialNum )

oraDa InsertCommand Parameters Add( :materialDescription OracleType Char materialDescription )

oraDa InsertCommand UpdatedRowSource = UpdateRowSource None

oraDa UpdateBatchSize = ??? Adjust the batch size based on testing result

oraDa Update(dtSqlZ J)

sw Stop()

lishixinzhi/Article/program/Oracle/201311/18480

網頁題目:oracle怎么多行插入 oracle 連接字段多行值
本文地址:http://m.kartarina.com/article16/hgsjdg.html

成都網站建設公司_創新互聯,為您提供虛擬主機、品牌網站建設、響應式網站、網站制作、App設計定制開發

廣告

聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯

外貿網站制作
主站蜘蛛池模板: 无码中文2020字幕二区| 无码专区天天躁天天躁在线| 免费无码婬片aaa直播表情| 精品国产v无码大片在线观看| 亚洲aⅴ无码专区在线观看| 丰满日韩放荡少妇无码视频| 97碰碰碰人妻视频无码| 亚洲av无码国产精品色在线看不卡| 免费无码成人AV在线播放不卡| 亚洲成?v人片天堂网无码| 18禁无遮挡无码国产免费网站| 亚洲无码日韩精品第一页| 无码精品A∨在线观看十八禁 | 亚洲av午夜精品无码专区| 国产成人综合日韩精品无码| 人妻无码αv中文字幕久久| 中文有无人妻vs无码人妻激烈| 无码熟妇人妻AV在线影院| 无码国内精品久久综合88| 无码国产精品一区二区免费vr | 国产精品一级毛片无码视频| 人妻无码中文久久久久专区| 亚洲人成网亚洲欧洲无码久久| 无码少妇丰满熟妇一区二区| 一本大道在线无码一区| 无码av免费一区二区三区试看| 亚洲中文字幕无码一区二区三区| 最新亚洲人成无码网www电影| 一本一道VS无码中文字幕| 精品三级AV无码一区| 无码国产色欲XXXX视频| 国产精品亚韩精品无码a在线| 免费一区二区无码东京热| 中文字幕乱偷无码AV先锋| 日韩成人无码中文字幕| 国产成人精品一区二区三区无码| 成年男人裸j照无遮挡无码| 免费无码国产在线观国内自拍中文字幕| 成人无码嫩草影院| 久久精品无码一区二区app| 伊人久久无码精品中文字幕|