資料修補一則
今天在更新一個參數列 執行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/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 谷歌披露 微軟 Jet 資料庫引擎 RCE 漏洞,尚未修補谷歌微軟資料庫
- AMDU資料抽取案例一則
- 補錄資料指令碼指令碼
- [譯] 自動補全規則
- 網站漏洞修復 上傳webshell漏洞修補網站Webshell
- 資料庫修復資料恢復資料庫資料恢復
- Jmeter壓則資料庫JMeter資料庫
- 資料模型是一種隱喻修辭手法 - brcommunity模型Unity
- 資料分析修煉指南
- Interbase資料庫修復資料庫
- Firebird資料庫修復資料庫
- Cephfs資料池資料物件命名規則解析物件
- 如何修復mysql資料庫MySql資料庫
- 鑲嵌資料集工具小結(十 一)分析、修復、同步鑲嵌資料集
- 【大資料】大資料企業策略與法則大資料
- 分散式資料庫火了 開源填補資料庫空白分散式資料庫
- 2024.4.8 資料結構課件補題資料結構
- MySQL資料庫自動補全命令MySql資料庫
- 網頁提取資料常用正則網頁
- 主資料之編碼規則
- 資料庫設計技巧14則資料庫
- 使用salvagewallet修復錢包資料
- 工控機維修資料恢復資料恢復
- 勒索病毒資料修復恢復
- 【UniApp】-uni-app-資料傳遞補充APP
- mysql資料庫常用命令(補充)MySql資料庫
- MySQL MGR如何修復資料不一致的節點MySql
- 網站存在漏洞怎麼修復 如何修補網站程式程式碼漏洞網站
- 網站漏洞修補之ECshop4.0跨站指令碼攻擊修復網站指令碼
- 任務運維 | 怎麼補資料?這有一篇實踐案例運維
- 有關資料驗證的原則
- Window資料夾,檔案命名規則
- oracle資料隱式轉換規則Oracle
- JS資料型別轉換規則JS資料型別
- 資料治理的目標和原則
- 資料庫設計原則與方法資料庫
- 【LINUX】Oracle資料庫 linux磁碟頭資料損壞修復LinuxOracle資料庫
- Double Kill!! 資料聯邦修煉之路
- SQL Server 資料頁損壞修復SQLServer