AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi Zeichen in Feldinhalten per Konsole und SQL ersetzen
Thema durchsuchen
Ansicht
Themen-Optionen

Zeichen in Feldinhalten per Konsole und SQL ersetzen

Ein Thema von ibp · begonnen am 14. Jul 2004 · letzter Beitrag vom 14. Jul 2004
 
Robert_G
(Gast)

n/a Beiträge
 
#8

Re: Zeichen in Feldinhalten per Konsole und SQL ersetzen

  Alt 14. Jul 2004, 18:55
Zitat von ibp:
wo und wie wende ich das denn an?
Du gibst ihm ein Schema, einen SuchString und den string mit dem ersetzt werden soll. Die Prozedur wird in allen Tabellen dieses Schemas in alen Feldern vom Typ Char, VarChar oder VarChar2 pSearchStr mit pReplStr ersetzen.

Zum Bleistift:

User Ernie hat eine Tabelle names Tab1, mit diesen Spalten:
SQL-Code:
Feld1 -> Integer
Feld2 -> VarChar2(2000)
Feld3 -> Char(5)
Du könntest jetzt das Ganze mit den Werten ausführen
ReplaceSomeChars('ERNIE', 'Hallo', 'Gudd''n Aabend'); Als Ergebnis wird er für Tab1 diesen Code erzeugen und ausführen:
SQL-Code:
Declare
  lSearchStr Char(5) := :iSearchStr;
  lReplStr Char(13) := :iReplStr;
Begin
  Update ERNIE.Tab1
  SET Feld2 = replace(Feld2, lSearchStr, lReplStr)
         ,Feld3 = replace(Feld3, lSearchStr, lReplStr);
End;
Falls IB keine anonymen Böcke unterstützt, könnte man auch nur ein UPDATE nehmen.
(da ich für jedes Auftauchen eines Parameters in Oracle's dyn. SQL einen Wert übergeben müsste, nehme ich anonyme Blöcke )

Für All_tables brauchst du das IB-Conterfei einer Tabelle, in der alle Tabellen aufgelistet sind.
All_Tab_Columns ist (guess what...), eine Liste aller Spalten aller Tabellen (inklusive deren Datentyp)


Falls du wirklich in vielen Tabellen Werte ersetzen musst, könnntest du das da oben jedenfalls als Grundlage nehmen.
Es war nur schnell hingetippt und an meinem "Sandkasten" getestet. (Irgendwofür müssen Raucherpäuschen doch gut sein )
Ich garantiere für nix
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:16 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz