MySQL-Prozedur zum Laden von Daten aus der Staging-Tabelle in andere Tabellen. Notwendigkeit, das mehrwertige Feld im Prozess aufzuteilen

Ich versuche, Daten aus einer mehrwertigen Datenbank (Unidata) nach MySQL zu exportieren. Nehmen wir an, meine Quelldaten waren die ID-Nummer einer Person, ihr Vorname und alle Bundesstaaten, in denen sie gelebt haben. Das Bundesstaatenfeld ist ein Feld mit mehreren Werten, und ich exportiere sie, sodass die verschiedenen Werte in diesem Feld durch ein getrennt werden ~. Ein Beispielauszug sieht wie folgt aus:

"1234","Sally","NY~NJ~CT"
"1235","Dave","ME~MA~FL"
"3245","Fred","UT~CA"
"2344","Sue","OR"

Ich habe diese Daten in eine Staging-Tabelle geladen

Table:staging
Column 1: personId
Column 2: name
Column 3: states

Ich möchte diese Daten mithilfe einer Prozedur in zwei Tabellen aufteilen: eine Personentabelle und eine Statustabelle. Eine Person kann viele Einträge in der Statustabelle haben:

Table 1: persons
Column 1: id
Column 2: name

Table 2: states
Column 1: personId
Column 2: state

Meine Prozedur entnimmt die Daten aus der Staging-Tabelle und speichert sie in Tabelle 1. Allerdings bin ich ein wenig verloren, wie man die Daten aufteilt und an Tabelle 2 sendet. Sally müsste drei Einträge in der Statustabelle haben (NY, NJ, CT), Dave hätte 3, Fred hätte 2 und Sue hätte 1 (ODER). Irgendwelche Ideen, wie dies erreicht werden kann?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage