Forums Neueste Beiträge
 

Case in Update

07/08/2009 - 15:05 von Andreas Jändl | Report spam
Hallo NG,

ich möchte im SQLS2k in der UPDATE-Anweisung eine Fallunterscheidung
treffen:
UPDATE dbo.s_lnk_Artikel_Preis SET case

when dbo.s_lnk_Artikel_Preis.Bemerkung is null then
dbo.s_lnk_Artikel_Preis.Bemerkung = 'Angebotsimport ' + CAST(GETDATE()AS
varchar(12))

else dbo.s_lnk_Artikel_Preis.Bemerkung = 'Angebotsimport ' +
CAST(GETDATE()AS varchar(12)) + ' ' + dbo.s_lnk_Artikel_Preis.Bemerkung

end

FROM

Da wird mir aber immer ein Fehler in der Nàhe des Case-Schlüsselwortes
angezeigt. Wie muss ich das richtig formulieren?

Vielen Dank im voraus und herzliche Grüße,

Andreas
 

Lesen sie die antworten

#1 Hannes Brunner
07/08/2009 - 15:21 | Warnen spam
Hallo Andreas,

Andreas Jàndl schrieb:
Hallo NG,

ich möchte im SQLS2k in der UPDATE-Anweisung eine Fallunterscheidung
treffen:
UPDATE dbo.s_lnk_Artikel_Preis SET case

when dbo.s_lnk_Artikel_Preis.Bemerkung is null then
dbo.s_lnk_Artikel_Preis.Bemerkung = 'Angebotsimport ' + CAST(GETDATE()AS
varchar(12))

else dbo.s_lnk_Artikel_Preis.Bemerkung = 'Angebotsimport ' +
CAST(GETDATE()AS varchar(12)) + ' ' + dbo.s_lnk_Artikel_Preis.Bemerkung

end

FROM



bei CASE handelt es sich beim SQL Server um einen Ausdruck, keine
Kontrollanweisung. Also:

UPDATE ...
SET Bemerkung = CASE WHEN ... THEN ... ELSE ... END
FROM ...

In deinem Fall noch einfacher:

UPDATE ...
SET Bemerkung = 'Angebotsimport ' + ... + ISNULL(' ' + Bemerkung, '')
FROM ...

HTH
Hannes

Ähnliche fragen