collapse

* Benutzer Info

 
 
Willkommen Gast. Bitte einloggen oder registrieren. Haben Sie Ihre Aktivierungs E-Mail übersehen?

* Wer ist Online

  • Punkt Gäste: 50
  • Punkt Versteckte: 1
  • Punkt Mitglieder: 2
  • Punkt Benutzer Online:

* Forenstatistik

  • stats Mitglieder insgesamt: 13911
  • stats Beiträge insgesamt: 65784
  • stats Themen insgesamt: 8876
  • stats Kategorien insgesamt: 5
  • stats Boards insgesamt: 17
  • stats Am meisten online: 415

Autor Thema: Suchen/Ersetzen über mehrere Tabellen in SQL Management Studio  (Gelesen 954 mal)

Offline FrankiLi

  • Access-User
  • *
  • Beiträge: 74
Hallo zusammen,

ich möchte in einer SQL-Datenbank in sämtlichen Tabellen und Feldern einen Text "alterText" in einen Text "neuerText" ändern, quasi wie Suchen und Ersetzen (damit könnte ich das natürlich auch in Access mit den verknüpften Tabellen umsetzen, dauert aber bei SQL Azure ewig, deshalb suche ich eine elegante Lösung mit Direktzugriff auf den Server).

Danke für Tipps
Gruss
Frank
 

Offline omron2003

  • Newbie
  • Beiträge: 26
 

Offline PhilS

  • Administrator
  • Access-Profi
  • *****
  • Beiträge: 320
    • Tipps zu Access, VBA, SQL und Co.
Re: Suchen/Ersetzen über mehrere Tabellen in SQL Management Studio
« Antwort #2 am: April 13, 2017, 13:11:51 »
ich möchte in einer SQL-Datenbank in sämtlichen Tabellen und Feldern einen Text "alterText" in einen Text "neuerText" ändern [...]
Dieses Anliegen deutet auf ein grundsätzliches Problem in deinem Datenmodell hin. In einem sinnvoll gestaltetem Datenmodell kann das eigentlich nicht vorkommen, da ein solcher Text nur in einer einzigen Tabelle, in einer einzigen Spalte vorkommen darf. In allen anderen Tabellen sollte es nur eine Referenz auf den Schlüssel der ursprünglichen Tabelle geben.

Diese DB-Designregeln haben einen guten Grund, denn ein globales "Suchen&Ersetzen" ist aufwendig zu implementieren und hat keine gute Performance, wie du in Access bereits festgestellt hast. - Letzteres wird zwar durch ein Azure-Backend noch verstärkt, ist aber ein grundsätzliches Problem.

Lösungsansatz:
Du kannst eine Abfrage auf die INFORMATION_SCHEMA-Views ausführen und damit alle Tabellen/Spalten ermitteln (alle *char-Spalten?), die berücksichtigt werden müssen. Aus den Ergebnissen kannst du dir dynamische SQL-Statements aufbauen, die entsprechende Aktualisierungsabfragen auf die Tabellen ausführen.
Neues Access 2019 Feature angekündigt: Modern Charts