資料修補一則
今天在更新一個參數列 執行update之後發現少更新了一個欄位 在修改了條件之後接著又執行了一次
結果在檢查的時候發現 出現了問題
name欄位下出現了類似"攤分發生費發生費"這樣的名稱
這是由於執行了兩次以下update語句造成的
update p_acct_call_type_ms set name=name||'發生費',
operation_type=2,type_name='實際消費',data_source='MONTH_AGGR',operation_type1=21
where substr(acct_type_id,-1)=1 and operation_type=2 ;
commit;
由於沒有備份,加上事務已經commit,因此無法rollback,
當時第一時間想到的是for update 但是like '%發生費發生費%'之後發現有400多條
一條一條的修改將非常的耗費時間
select distinct LENGTH(name)
from p_acct_call_type_ms where name like '%發生費發生費%'
檢查發現name欄位的不同長度有50多條,寫update語句更新顯然相比for update
手工修改效率會快很多.因此補救語句如下
update p_acct_call_type_ms set name=substr(name,1,5) where LENGTH(name)=8 and name like '%發生費發生費%';
update p_acct_call_type_ms set name=substr(name,1,6) where LENGTH(name)=9 and name like '%發生費發生費%';
......
update p_acct_call_type_ms set name=substr(name,1,55) where LENGTH(name)=58 and name like '%發生費發生費%';
執行只用了幾秒鐘時間便完成了.這裡主要用到了substr函式,根據返回字串的長度來判斷擷取的長度來達到補救的目的.
記錄下來,作為經驗教訓.
結果在檢查的時候發現 出現了問題
name欄位下出現了類似"攤分發生費發生費"這樣的名稱
這是由於執行了兩次以下update語句造成的
update p_acct_call_type_ms set name=name||'發生費',
operation_type=2,type_name='實際消費',data_source='MONTH_AGGR',operation_type1=21
where substr(acct_type_id,-1)=1 and operation_type=2 ;
commit;
由於沒有備份,加上事務已經commit,因此無法rollback,
當時第一時間想到的是for update 但是like '%發生費發生費%'之後發現有400多條
一條一條的修改將非常的耗費時間
select distinct LENGTH(name)
from p_acct_call_type_ms where name like '%發生費發生費%'
檢查發現name欄位的不同長度有50多條,寫update語句更新顯然相比for update
手工修改效率會快很多.因此補救語句如下
update p_acct_call_type_ms set name=substr(name,1,5) where LENGTH(name)=8 and name like '%發生費發生費%';
update p_acct_call_type_ms set name=substr(name,1,6) where LENGTH(name)=9 and name like '%發生費發生費%';
......
update p_acct_call_type_ms set name=substr(name,1,55) where LENGTH(name)=58 and name like '%發生費發生費%';
執行只用了幾秒鐘時間便完成了.這裡主要用到了substr函式,根據返回字串的長度來判斷擷取的長度來達到補救的目的.
記錄下來,作為經驗教訓.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12216142/viewspace-498108/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 用數字輔助表補錄資料一則
- c語言資料結構補齊原則C語言資料結構
- 探索Oracle之資料庫升級一 升級補丁修復概述Oracle資料庫
- 谷歌披露 微軟 Jet 資料庫引擎 RCE 漏洞,尚未修補谷歌微軟資料庫
- AMDU資料抽取案例一則
- 修復資料庫壞塊之一資料庫
- 資料庫cpu高處理一則資料庫
- tinker熱修復——資源補丁載入過程
- 恢復800G資料量資料庫一則資料庫
- 資料庫壞塊解決案例一則資料庫
- 網站漏洞修復 上傳webshell漏洞修補網站Webshell
- 資料庫補丁索引資料庫索引
- [譯] 自動補全規則
- 資料庫修復資料恢復資料庫資料恢復
- mysql匯入資料亂碼錯誤一則MySql
- 資料庫升級問題處理一則資料庫
- 資料分析修煉指南
- Firebird資料庫修復資料庫
- Interbase資料庫修復資料庫
- 一則資料庫無法重啟的案例分析資料庫
- Jmeter壓則資料庫JMeter資料庫
- Oracle資料庫打補丁方法Oracle資料庫
- tinker熱修復——補丁載入合成
- 資料模型是一種隱喻修辭手法 - brcommunity模型Unity
- 論一枚資料科學家的自我修養資料科學
- 如何修復mysql資料庫MySql資料庫
- 模擬修復AD資料
- 小資料:ASPr API修復API
- Cephfs資料池資料物件命名規則解析物件
- 一則資料庫無法啟動的奇怪案例分析資料庫
- TSM單個資料庫無法備份故障一則資料庫
- 【MySQL】表索引損壞致Crash及修復過程一則MySql索引
- 鑲嵌資料集工具小結(十 一)分析、修復、同步鑲嵌資料集
- List資料多重規則排序排序
- 資料預處理規則
- 3.3 資料整理的原則
- 大資料環境下的關聯規則挖掘-趙修湘-專題視訊課程大資料
- 【大資料】大資料企業策略與法則大資料