-- Empfänger bei Kartenverfügungen nachtragen (#119). -- -- Die comdirect liefert bei Kartenverfügungen der Visa-Debitkarte kein -- Namensfeld; der Händler steht nur im Verwendungszweck zwischen -- „KARTENVERFÜGUNG“ und „KARTE NR.“. Neue Abrufe leiten ihn ab -- (UmsatzEmpfaenger), hier werden die bereits abgerufenen Umsätze und die -- daraus übernommenen Buchungen nachgezogen – nur, wo der Empfänger leer ist. -- -- Idempotent: Nach dem ersten Lauf ist der Empfänger nicht mehr leer. UPDATE bank_umsaetze SET empfaenger = LEFT(TRIM(REGEXP_REPLACE( REGEXP_REPLACE(verwendungszweck, '(?s)^\\s*KARTENVERF(Ü|UE)GUNG\\s*(.+?)\\s*KARTE NR\\..*$', '\\2'), '\\s+', ' ')), 255) WHERE empfaenger = '' AND verwendungszweck REGEXP '^\\s*KARTENVERF(Ü|UE)GUNG\\s*(.+?)\\s*KARTE NR\\.'; UPDATE buchungen b JOIN bank_umsaetze u ON u.buchung_id = b.id AND u.benutzer_id = b.benutzer_id SET b.empfaenger = u.empfaenger WHERE b.empfaenger = '' AND u.empfaenger <> '' AND u.verwendungszweck REGEXP '^\\s*KARTENVERF(Ü|UE)GUNG';