2013-05-11 4 views
0

Я использую SQL Server 2008. Моя база данных имеет две таблицы.Вставить несколько записей быстрее.

Член

  • MemberId
  • RegCode
  • BrokerCode
  • Имя

TestInstallment

  • RegCode
  • Сумма
  • Дата
  • InstallmentNo

В обеих таблицах есть много столбцов, но я показываю здесь некоторые из столбцов. TestInstallment - это таблица, в которой я импортирую данные из Excel и делаю некоторые вычисления. Таблица Member содержит строки с уникальными RegCode и TestInstallment содержит несколько строк с одинаковыми RegCode. Например, в таблице есть только один ряд с RegCode 'A105', поэтому TestInstallment содержит приблизительно 30 строк с RegCode 'A105'.

Моя последняя таблица Рассрочка

  • InstallmentId
  • MemberId
  • Сумма
  • Дата
  • InstallmentNo

Теперь я хочу, чтобы вставить строки TestInstallment - Installment со ссылкой MemberId. В настоящее время я делаю это с помощью курсора, но это занимает много времени.

В настоящее время в моей базе данных 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 
Смежные вопросы