sql, update problem
-
sql-abfrage:
bei folgendem code:
update [ODS].[dbo].[vBOMPriceComp] (BomTitelID ,PartOfTitelID ,TitelID ,CompPriceType ,CompPriceKey ,CompRefNo ,CompDescription ,CompMesonicArtikelNr ,SLID ,ppID ,notes) select BomTitelID ,c.PartOfTitelID ,c.TitelID ,c.CompPriceType ,c.CompPriceKey ,c.CompRefNo ,c.CompDescription ,c.CompMesonicArtikelNr ,c.SLID ,c.ppID -- ,c.price ,c.notes from vBOMPriceComp c where exists ( select * from dbo.fnPriceCompBOM(.....) bp where c.BOMTitelID = bp.titelid and c.TitelID = bp.titelid and c.compPriceType = bp.CompPriceType and c.SLID = bp.SLID ) and BOMTitelID = .....
meckert er mit:
Meldung 102, Ebene 15, Status 1, Zeile 4 Falsche Syntax in der Nähe von ','.
liegt wohl daran, das ich fehlende sql-kenntnisse hab.
wie gehe ich mit update richtig um?
-
sry... die fehlermeldung war die falsche...
Meldung 102, Ebene 15, Status 31, Zeile 20 Falsche Syntax in der Nähe von '('.
-
Nun ja, das ist eher die Insert-Syntax. Updates sehen eher so aus:
UPDATE Tabelle
SET Feld = Wert, Feld2 = Wert2...
WHERE (...Bedingungen...)
-
hm ... okay, aber jetzt hab ich nen verständnis problem, es geht um folgendes: ersetzt update nicht? macht update auch nur ein insert? weil folgende fehlermeldung trat jetzt bei:
[dbo].[vBOMPriceComp] set BomTitelID = @BomTitelID ,PartOfTitelID = @PartOfTitelID ,TitelID = @TitelID ,CompPriceType = @CompPriceType ,CompPriceKey = @CompPriceKey ,CompRefNo = @CompRefNo ,CompDescription = @CompDescription ,CompMesonicArtikelNr = @CompMesonicArtikelNr ,SLID = @SLID ,ppID = @ppID ,notes = @notes
auf:
Meldung 2627, Ebene 14, Status 1, Zeile 39 Verletzung der PRIMARY KEY-Einschränkung 'PK_BOMPriceComp'. Ein doppelter Schlüssel kann in das 'dbo.BOMPriceComp'-Objekt nicht eingefügt werden. Die Anweisung wurde beendet.
-
sag ja ^^ ich bin ein nap. hab die where bedingung weggelassen .... grmpf
-
Ein Update verändert vorhandene Datensätze.
Ein Insert fügt neue Datensätze hinzu.