NEWSboard Internet-Museum für das Schwarze Brett der AS/400

      Re: SQL: Update auf Tabelle mit zusammgesetztem Primärschlüssel


      [ Follow Ups ] [ Neuen Beitrag verfassen! ] [ Schwarzes Brett ] [ FAQ ]

      Posted Byuwe müller on February 18, 19100 at 16:50:10:

      In Reply to: SQL: Update auf Tabelle mit zusammgesetztem Primärschlüssel posted byCarsten Kohlmann on February 15, 19100 at 16:22:05:

      : Ich habe zwei Tabellen mit einem zusammgesetztem Primärschlüssel (z.B.

      : (Firma_Nr, Abt_Nr) = PK ).

      : Nun möchte ich ein update auf Tabelle tab_a machen, und zwar möchte ich

      : nur die Sätze aktualisieren die in Tabelle tab_b vorhanden sind (mit dem

      : Inhalt von tab_b).

      : create table tab_a

      : (

      : PK_a1

      : PK_a2

      : Daten_A

      : Daten_B

      : )

      :

      : create table tab_b

      : (

      : PK_b1

      : PK_b2

      : Daten_C

      : Daten_D

      : )

      : die Syntax unter Oracle für ein korrektes Update lautet:

      : update tab_a

      : set ( Daten_A, Daten_B ) =

      : ( select Daten_C, Daten_D

      : from tab_B

      : where PK_b1 = PK_a1

      : and PK_b2 = PK_a2

      : )

      : where ( PK_a1, PK_a2) in

      : ( select PK_b1, PK_b2

      : from tab_B

      : )

      : Funktioniert aber nicht auf AS/400.

      : Ein ähnliches Beispiel habe ich in der DB2-Literatur gefunden, leider

      : nur nicht für DB2-AS/400.

      : Ich kann mir aber nicht vorstellen, dass es für dieses Problem keine

      : Lösung gibt.


      also mir kommt diese art von update etwas seltsam vor, den update mit feldzuweisung über select kenne ich nicht, nur beim insert ist dies nach ansi möglich :

      versucge folgendes :

      update taba set taba.f1 = tabb.f1, taba.f2 = tabb.f2 ....
      from taba, tabb where taba.key1 = tabb.key1 and
      taba.key2 = tabb.key2



      Follow Ups



      Neuen Beitrag verfassen!

      Name:
      E-Mail:

      Subject:

      Comments: