Announcement

Collapse
No announcement yet.

IF Abfrage

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • IF Abfrage

    Ich möchte bestimmte Werte in DB1 von DB2 updaten und verwende dazu eine IF Abfrage.

    Bekomme aber immer wieder Fehler:
    Der mehrteilige Bezeichner DB1.kst (und auch db2.kst) konnte nicht gebunden werden

    IF DB1.kst = db2.kst
    Begin
    Update db1
    Set db1.Menge = db2.Menge
    Where db1.Artikelnr=3000 AND db1.Artikelnr=4000
    END
    ELSE
    Insert.......

    Was hab ich den übersehen??
    (SQL 2005)

  • #2
    Hallo Solardub,

    dies kann sehr viele Ursachen.
    Evtl. muss einfach das Schema (Standard ist "dbo") mit angegeben werden.
    Also Datenbank.Schema.Tabelle bzw. DB1.dbo.kst

    Außerdem fehlt wohl im Updatebefehl "FROM ...".

    In deiner WHERE-Bedingung ist ein Fehler.
    db1.Artikelnr kann nicht gleichzeitig 3000 und 4000 sein.
    Statt "AND" müsste es wohl "OR" lauten.

    An deiner Stelle würde ich das Update so umschreiben.
    UPDATE db1
    SET DB1.dbo.Menge = DB1.dbo.Menge
    FROM DB1.dbo.kst
    INNER JOIN DB2.dbo.kst
    ON DB1.dbo.kst = DB2.dbo.kst
    WHERE DB1.dbo.Artikelnr = 3000 OR DB1.dbo.Artikelnr = 4000
    Zuletzt editiert von knoxyz; 25.04.2012, 11:37.
    Und Falk Prüfer sprach: Formatierung von SQL in Beiträgen

    Comment

    Working...
    X