Разделение значений с разделителями в столбце SQL на несколько строк
Мне бы очень хотелось получить несколько советов здесь, чтобы дать некоторую справочную информацию, которую я работаю со вставкой журналов отслеживания сообщений из Exchange 2007 в SQL. Поскольку у нас миллионы строк в день, я использую оператор Bulk Insert для вставки данных в таблицу SQL.
На самом деле я на самом деле массово вставляю данные во временную таблицу, а затем оттуда сливаю данные в оперативную таблицу, это для проблем с анализом теста, так как в некоторых полях есть кавычки и тому подобное вокруг значений.
Это хорошо работает, за исключением того факта, что столбец адрес получателя является полем с разделителями, разделенным символом a; характер, и это может быть невероятно долго иногда, так как может быть много получателей электронной почты.
Я хотел бы взять этот столбец и разбить значения на несколько строк, которые затем будут вставлены в другую таблицу. Проблема в том, что я пытаюсь либо занять слишком много времени, либо не работать так, как я хочу.
Возьмите данные этого примера:
message-id recipient-address
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected];[email protected];[email protected]
Я хотел бы, чтобы это было отформатировано, как указано в моей таблице получателей:
message-id recipient-address
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected]
У кого-нибудь есть идеи о том, как я могу это сделать?
Я достаточно хорошо знаю PowerShell, поэтому я попробовал это сделать, но цикл foreach даже для 28К записей занял целую вечность, мне нужно что-то, что будет работать максимально быстро / эффективно.
Спасибо!