由於拆庫專案發展,需要對錶進行簡單重構;業務要求遷移的表需要存在 ‘新增人ID’,‘新增人’,‘新增時間’,‘修改人ID’,‘修改人’,‘修改時間’幾個欄位,原表不存在的這幾個欄位需要進行新增欄位。並且要求這幾個欄位都應設定‘不可為null。
就需要在保證新增的資料已經存在預設值的情況下,對原來的資料進行修復再做資料轉移(如圖將每個為null的欄位分別進行賦值);
update TABLE_NAME
set
CREATE_USER_ID = case when CREATE_USER_ID is null then 333 else CREATE_USER_ID end,
CREATE_USER_NAME = case when CREATE_USER_NAME is null then'系統' else CREATE_USER_NAME end,
CREATE_DATETIME= case when CREATE_DATETIME is null then sysdate else CREATE_DATETIME end,
UPDATE_USER_ID= case when UPDATE_USER_ID is null then 333 else UPDATE_USER_ID end,
UPDATE_USER_NAME= case when UPDATE_USER_NAME is null then '系統' else UPDATE_USER_NAME end,
UPDATE_DATETIME= case when UPDATE_DATETIME is null then sysdate else UPDATE_DATETIME end
where
CREATE_USER_ID is null or CREATE_USER_NAME is null or CREATE_DATETIME is null or
UPDATE_USER_ID is null or UPDATE_USER_NAME is null or UPDATE_DATETIME is null ;