2013-12-11 163 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