Ich möchte hier einen Ratschlag geben, um einige Hintergrundinformationen zu geben. Ich arbeite mit dem Einfügen von Nachrichtenverfolgungsprotokollen aus Exchange 2007 in SQL. Da wir Millionen von Millionen Zeilen pro Tag haben, verwende ich eine Bulk Insert-Anweisung, um die Daten in eine SQL-Tabelle einzufügen.Getrennte Werte in einer SQL-Spalte in mehrere Zeilen teilen
In der Tat habe ich tatsächlich Bulk Insert in eine temporäre Tabelle und dann von dort MERGE ich die Daten in die Live-Tabelle, dies ist für Test Parsing Probleme wie bestimmte Felder haben sonst Anführungszeichen und so um die Werte.
Dies funktioniert gut, mit Ausnahme der Tatsache, dass die Spalte Empfängeradresse ein abgegrenztes Feld ist, das durch a getrennt ist; Charakter, und es kann manchmal unglaublich lang sein, da es viele E-Mail-Empfänger geben kann.
Ich möchte diese Spalte nehmen, und teilen Sie die Werte in mehrere Zeilen, die dann in eine andere Tabelle eingefügt werden würde. Das Problem ist, dass alles, was ich versuche, entweder zu lange dauert oder nicht so funktioniert, wie ich es möchte.
dieses Beispiel Daten Nehmen:
message-id recipient-address
[email protected] [email protected]
E52F650C53A275488552FFD49F98E9A6BEA126[email protected] [email protected]
[email protected] [email protected];[email protected];[email protected]
Das möchte ich in meinem Empfänger Tabelle wie folgt formatiert werden:
message-id recipient-address
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected]
[email protected] [email protected]
Hat jemand irgendwelche Ideen, wie ich über das tun dies gehen kann ?
Ich kenne PowerShell ziemlich gut, also habe ich versucht, aber eine foreach-Schleife sogar auf 28K-Records dauerte ewig, ich brauche etwas, das so schnell/effizient wie möglich ausgeführt wird.
Danke!
Ich denke, Sie sollten Sie drei Ergebnisse in eine Tabelle mit einer Split-Funktion setzen Sieh dir das an: http: // stackoverflow.com/questions/314824/t-sql-gegenüber-zu-string-verketten-how-to-strip-string-in-multiple-reco Und danach können Sie Ihre geteilten Daten in Ihrer anderen Tabelle zu verbinden, um Ihr Ergebnis zu erhalten – GregM