Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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

Geschrieben

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

Geschrieben

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

Geschrieben
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

Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren

Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können

Benutzerkonto erstellen

Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!

Neues Benutzerkonto erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...