日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

oracle删除表中数据_工作表中提供的特定数据在数据库中批量删除的方法

發布時間:2025/3/21 数据库 24 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle删除表中数据_工作表中提供的特定数据在数据库中批量删除的方法 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

大家好,我們今日繼續講解VBA數據庫解決方案的第25講內容:利用VBA,把工作表中提供的數據在數據表中批量刪除的方法。在上一講中,我們講了實現在數據表中刪除記錄的一般方法,這種方法可以對重復的數據進行處理,但實際的情況是,我們的數據記錄很多時候是沒有重復的,而且如果數據量很大,該怎么處理呢?今日我們就講解如何在記錄集中批量刪除給定記錄的方法。

實例:我們有一個員工的信息表,導出的數據如下:

在工作實際中我們需要刪除其中的100014,100015,100017,100018,的記錄,當然還可以更多,如下表格是需要在數據庫中刪除的數據信息:

也就是說我們要刪除的數據中是以員工編號為索引的記錄,這個時候需要如何處理?代碼該如何寫呢?如果仍采用上講的辦法也是可以的,但今天我們將介紹一種新的方法。代碼如下:

Sub mynzCreateDataTable_3() '第25講 利用VBA把工作表中提供的數據在數據表中批量刪除的方法

Dim cnADO, rsADO As Object

Dim strPath, strTable, strWhere, strSQL, strMsg As String

Set cnADO = CreateObject("ADODB.Connection")

Set rsADO = CreateObject("ADODB.Recordset")

strPath = ThisWorkbook.Path & "mydata2.accdb"

strTable = "員工信息"

cnADO.Open "Provider=Microsoft.Ace.OLEDB.12.0;Data Source=" & strPath

strSQL = "SELECT * FROM " & strTable

rsADO.Open strSQL, cnADO, 1, 3

'匯報給用戶記錄數

MsgBox "刪除前記錄數為:" & rsADO.RecordCount

rsADO.Close

strWhere = " WHERE EXISTS(" _

& "SELECT * FROM [Excel 12.0;Database=" _

& ThisWorkbook.FullName & "].[" & ActiveSheet.Name & "$" _

& Range("a1").CurrentRegion.Address(0, 0) & "] " _

& "WHERE 員工編號=" & strTable & ".員工編號)"

strSQL = "SELECT 員工編號 FROM " & strTable & strWhere

rsADO.Open strSQL, cnADO, 1, 3

If rsADO.RecordCount > 0 Then

strSQL = "DELETE FROM " & strTable & strWhere

cnADO.Execute strSQL

MsgBox rsADO.RecordCount & "條記錄被刪除。

總結

以上是生活随笔為你收集整理的oracle删除表中数据_工作表中提供的特定数据在数据库中批量删除的方法的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。