2013-10-07 28 views
0

這是我的情況,我有表稱爲EMPDETAILS(empcode,empname)與10條記錄和一些其他表有empcode也。如何更新整個數據庫中的列?

**Example** 
EMPCODE EMPNAME 
EMP001 A 
EMP002 B 
EMP003 C 

現在我想在整個數據庫更新列EMPCODE EMP001 001

**OUTPUT** 
EMPCODE EMPNAME 
001  A 

注:1.我沒有設置父表的主鍵。

任何人都可以幫忙嗎?

+0

你是不是想從'varchar2'數據類型更改爲'number',或只是替換另一個字符串值?我不太確定問題是什麼 - 獨立更新所有表有什麼問題,但是在一個事務中,如果不存在妨礙的方式? –

+0

一個字符串值與另一個 – Raj

+0

不需要更改數據類型。我的客戶需要用所有表中的「201913」等其他值替換EMPCODE值「D109」。 – Raj

回答

1

嘗試這樣的事情產生的更新語句

SELECT 
     'UPDATE ' 
     || OWNER 
     || '.' 
     || TABLE_NAME 
     || ' SET EMPCODE = SUBSTR (EMPCODE, 1, 3); ' 
FROM 
     SYS.ALL_TAB_COLUMNS 
WHERE 
     OWNER = '{owner}' 
     AND COLUMN_NAME = 'EMPCODE';