Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Per SQL Wörter in bestehenden Text einfügen

Empfohlene Antworten

Veröffentlicht

Hallo,

habe in einer Oracle Tabelle eine Spalte namens "Text", in der sich SQL-Befehle befinden. Wie kann ich nun per SQL diese Abfragen in der Spalte abändern?

Bsp.(Abfrage momentan):


WHERE                                                                           

 (modell like 'Modell1' or modell like 'Modell2')

und ich will da noch ein "or modell like 'Modell3' anhängen. Wie mach ich das? Mit UPDATE bekomm ichs nicht hin :(

Hoffe ich habs einigermaßen verständlich erklärt.

hi,

etwa so:

update [tabelle] set text=text || '[weiterere sql-befehle]' where text=[bedingung];

mit dem verkettungsoperator || bleibt der ursprüngliche wert in dem feld erhalten und der rest wird angefügt.

grüße von ipu

Danke! das ist das was ich suche. Jetzt gibt es noch ein Problem. Der Text ist nach dem oben von mir angegebenen Auszug noch nicht am Ende. Also ich kann den neuen Text nicht einfach hinten anhängen sondern muss ihn dazwischen einfügen. Kann ich mit der SET Text Sache auch an eine bestimmte Stelle angeben wo es hin soll?

Also die Struktur der Abfrage im Feld "Text" ist:


SELECT.....FROM....WHERE


(modell like 'Modell1' or modell like 'Modell2') AND Status = .....AND....


und ich will eben noch ein "or modell like 'Modell3'" anhängen.

du musst in dem fall mit stringfunktionen (z.b. CONCAT, SUBSTR, INSTR) arbeiten.

Oracle String Functions

s'Amstel

ja danke.

habs im Moment so gelöst:



SET TEXT = SUBSTR(TEXT, 1, 263) || "or modell like 'Modell3')"


Doch da krieg ich komischerweise nen Fehler "Ungültiger Spaltenname" mit Hinweis auf das "or". Anscheinend erkennt der den String als SQL-Syntax und meckert deshalb rum. Oder hab ich sonst noch nen Syntaxfehler drin?

Nimm mal statt " --> '

nützt leider auch nix :(

verwende entweder ''' (also drei single quotes) oder arbeite mit ESCAPE.

s'Amstel

update tabellexyz

set spaltea = concat(SUBSTR(spaltea, 1, 10) , ' und noch m''e''hr' )

where ...

das geht auf jeden fall !! ich habe es getestet auf einer mysql-DB

habs hinbekommen, musste den String noch weiter zerlegen und da in dem Text Zeichen wie ' vorkommen muss man da bissel aufpassen...

habs mit den drei single quotes gelöst. Vielen Dank euch!

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.