2013-12-11 126 views
0

我已將9000行插入數據庫的AcctHist表中。 LedgerID是'HOME'。現在我需要複製這些行並將它們再次插入到同一個表中,但使用LedgedID ='FIELD'(LedgerID是主鍵的一部分)。沒有其他變化。複製,插入和更新

我該如何做到這一點?我是否需要將這些數據複製到excel中,進行更改並再次插入?

+0

'AccHist'中是否有'LedgerID ='HOME'的其他行? –

+0

是的,那是我插入的內容。現在我必須將所有這些行與ledgerId ='HOME'一起復制並再次插入到同一個表中,但是使用ledgerID ='FIELD' – stackuser

回答

3

鑑於所有具有LedgerID ='HOME'的行都是您插入的行和您需要複製的行,這應該可以工作,將<all other columns in AcctHist, comma delimited>與您的實際列名稱交換。請注意,如果您有任何標識字段,則應該省略這些字段,因爲它們將自動填充。

INSERT INTO AcctHist 
(
    LedgerID, 
    <all other columns in AcctHist, comma delimited> 
) 
SELECT 
    'FIELD', 
    <all other columns in AcctHist, comma delimited> 
FROM AcctHist WHERE LedgerID = 'HOME' 
+0

真棒!謝謝! – stackuser