Dataverse 如何透過 UI 清空指定資料表?Bulk Deletion 使用整理
Copyright Notice: This article is an original work licensed under the CC 4.0 BY-NC-ND license.
If you wish to repost this article, please include the original source link and this copyright notice.
Source link: https://v2know.com/article/1346
在 Dataverse 中,如果想做到類似 SQL TRUNCATE TABLE 的效果,但又不刪除資料表本身,可以使用 Bulk Deletion(一括削除)。
它會刪除符合條件的 Records,但會保留 Table、Columns、Relationships 等結構。
一、從哪裡建立 Bulk Deletion Job?
在 Power Platform 管理中心依序進入:
Manage → Environments → 選擇環境 → Settings → Data management → Bulk deletion
然後點:
+ 新しいジョブ
即可建立新的 Bulk Deletion Job。
二、如何清空某張資料表?
建立 Job 後:
-
在「エンティティを検索する」選擇要清空的 Table。
-
選擇一個 Saved View,例如:
-
アクティブな○○ -
非アクティブな○○
-
-
設定刪除條件。
-
使用「レコードをプレビューする」確認實際會被刪除的資料。
-
確認後儲存並執行 Job。
Active / Inactive 是什麼?
Dataverse 的一般自訂 Table 通常存在:
-
アクティブ(Active)
-
非アクティブ(Inactive)
Inactive 並不是已經刪除,只是 Record 處於停用狀態。
因此,如果目標是真正清空整張表,Active 與 Inactive 都必須包含。
三、沒有「すべて」View 怎麼辦?
有些 Table 的 Saved View 下拉選單只有:
-
アクティブな○○
-
非アクティブな○○
而沒有「すべて」。
這時可以在同一個「状態」條件中,同時選擇:
アクティブ、非アクティブ
其邏輯相當於:
WHERE 状態 IN ('Active', 'Inactive')
也就是:
Active OR Inactive
如果該 Table 的狀態只有這兩種,那就等於取得全部 Records。
那畫面上的「および」是什麼?
「および」是用來連接不同篩選條件的 AND,例如:
状態 = Active / Inactive
AND
作成日 < 某日期
它不是說:
Active AND Inactive
同一條條件中同時選 Active、Inactive,本質上仍然是「任一值符合即可」。
四、執行前最好使用 Preview
在真正執行前,可以點:
レコードをプレビューする
確認目前條件到底抓到了哪些 Records。
如果 Preview 的筆數與 Table 的總資料量一致,就可以確認這次 Bulk Deletion 確實會清空整張表。
五、Bulk Deletion 預設是一次性 Job
Bulk Deletion 預設只執行一次。
畫面上有:
ジョブの実行間隔
如果不勾選,就是:
執行一次 → 完成 → 結束
如果勾選並設定例如 30日,就會變成:
每 30 天按照相同條件再次執行
因此,如果只是暫時清空測試資料,通常不要設定執行間隔。
否則日後重新匯入資料後,定期 Job 可能又把資料刪掉。
六、Job 執行後可以反覆修改嗎?
一次性 Job
一次性 Job 執行完成後,基本上就可以理解為一筆執行履歷。
例如:
事績処理テーブル全件削除
完成
刪除 2,700 件
它不是可反覆修改條件、再重新執行的「腳本模板」。
如果下次還想再清空同一張 Table,通常重新建立一個新的 Bulk Deletion Job。
Recurring Job
如果建立時設定了執行間隔,它會持續按照原來條件執行。
後續主要可以修改的是:
Recurrence/執行間隔
而不是任意修改:
-
Table
-
查詢條件
-
Active / Inactive
-
其他刪除條件
如果想大幅修改刪除規則,重新建立新的 Job 會比較合適。
七、執行完成的 Job 履歷可以刪嗎?
可以。
完成後的一次性 Bulk Deletion Job 可以作為執行紀錄保留,也可以在確認不再需要後刪除。
刪除 Job 履歷:
不會恢復已刪除的業務資料
不會刪除 Table
不會改變 Table 結構
只是把那次 Bulk Deletion 的執行紀錄移除。
但對 Recurring Job 要特別注意,因為它可能還負責未來的定期執行,不能單純把它當作普通歷史紀錄。
八、這些 Job 屬於哪裡?
Bulk Deletion Job 屬於特定的 Dataverse Environment。
因此它不是一般 Solution 元件。
要區分兩種情況:
Solution 移送
Development → Export Solution → Production Import
一般的 Bulk Deletion 執行履歷不會因為 Solution Import 而一起搬過去。
整個 Environment/Dataverse organization 移送
如果做的是整個 Dataverse Environment/organization 層級的移送,那這些 Job 記錄屬於該環境中的 Dataverse 系統資料,與單純的 Solution 移送是不同概念。
總結
如果只是想透過 Dataverse UI 清空某張 Table,可以記住:
Bulk Deletion → 選 Table → Active + Inactive → Preview → 一次性執行
其中最重要的幾點是:
-
Bulk Deletion 刪的是 Records,不是 Table。
-
Inactive Record 也是真實存在的資料。
-
Active + Inactive可以涵蓋全部狀態。 -
不勾「ジョブの実行間隔」就是一次性執行。
-
執行完成的一次性 Job 基本上就是履歷。
-
履歷可以刪除。
-
Bulk Deletion Job 屬於 Environment,不等於 Solution 元件。
This article was last edited at