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.

Empfohlene Antworten

Veröffentlicht

Moin!

Ich habe mich bei der Ertellung meines Datenmodells vertan und muss nun Werte einer BEstimmten Tabelle umbiegen. Da ich den neuen Wert einigermaßen aufwändig ermitteln muss reicht wohl kein einfaches update.

Jetzt denke ich über ein Procedure nach, die das für mich erledigt. Davon habe ich schon einige geschrieben, allerdings eher für spezielle Auswertungen und nicht zur Datenmanipulation.

Ich stelle mir das so vor, dass ich die Zeilen der Tabelle einzeln durchgehe, mir den alten Wert auslese, den neuen "errechne" und dann zurückschreibe.

Mit Schleifen habe ich nat. auch gearbeitet, aber der Zeilenweise Zugriff auf die Tabellenwerte macht mir Kopfzerbrehcen - geht das mit dem "CURSER" ?

Wäre toll, wenn mir jemand helfen könnte.

Martin

Danke, ich werde mir das Tuturial ansehen.

Martin

Bearbeitet von Martin1968

Guten Morgen Dr. Dimitri,

ich habe natürlich auch erst an ein Update gedacht, aber das überfordert mich anscheinend :-)

Folgendes select listet den zu ändernden Wert und den Wert der neu in die Spalter Att_value gehört:

select av.att_value, kst.obj_id

from attribute_values av,

object kst

where av.att_id = 81662 and av.att_value in

(select kst.gr_id from object kst where kst.cl_id = 10112 and kst.gr_class = 10001 and kst.gr_id = att_value)

and kst.cl_id = 10112 and kst.gr_id = av.att_value

Mein Problem ist, dass ich nicht weiss, wie ich den Join zwischen beiden selects innerhalb des Update-Statements verarbeite.

Vielleicht kann mir hemand von Euch auf die Sprünge helfen ?

Martin

Hi,

das nennt sich correlated subquery:

UPDATE tabelle a 

   SET (spalte1,spalte2)=(select spalteA,spalteB 

  FROM tabelle b 

 WHERE [b]a.id=b.id[/b] --Hier werden die beiden Mengen eindeutig miteinander verknüpft

    AND ...)

WHERE a.spalteXY=... --Hier evtl. noch die zu berücksichtigende Menge einschränken

Dim

Hi,

das nennt sich correlated subquery:

UPDATE tabelle a 

   SET (spalte1,spalte2)=(select spalteA,spalteB 

  FROM tabelle b 

 WHERE [b]a.id=b.id[/b] --Hier werden die beiden Mengen eindeutig miteinander verknüpft

    AND ...)

WHERE a.spalteXY=... --Hier evtl. noch die zu berücksichtigende Menge einschränken

Dim

Muss ich jetzt erst mal genauer anschauen, aber VIELEN DANK!:):uli

Muss ich jetzt erst mal genauer anschauen, aber VIELEN DANK!:):uli

Hat funktioniert - Klasse!

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

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.