2013-05-11 41 views
0

我正在使用SQL Server 2008.我的數據庫有兩個表。以更快的方式插入多個記錄

會員

  • 成員Id
  • REGCODE
  • BrokerCode
  • 名稱

TestInstallment

  • REGCODE
  • 金額
  • 日期
  • InstallmentNo

在兩個表中有很多列,但我在這裏顯示了一些列。 TestInstallment是我從Excel導入數據並進行計算的表格。 Member表包含具有唯一的RegCodeTestInstallment的行包含具有相同RegCode的多行。例如,在member表中,只有一行RegCode 'A105',因此TestInstallment包含大約30行,其中RegCode 'A105'

我最後的表是分期付款

  • InstallmentId
  • 成員Id
  • 金額
  • 日期
  • InstallmentNo

現在我要插入的行參照MemberId轉換成Installment。目前我正在使用遊標進行操作,但需要很長時間。

當前在我的數據庫Member表有大約47000行和TestInstallment有大約700000行。

那麼我該如何更快地做到這一點呢?謝謝。

回答

1

我假設installmentid是標識字段。

insert into installment 
select m.memberid, t.amount, t.date, t.installmentno, 
from member m inner join testinstallment t on m.regcode = t.regcode