Update wenn Spalte vorhanden

23/10/2009 - 12:42 von Georg Gungl | Report spam
Hallo NG,


die Abfrage...

IF EXISTS (SELECT * FROM [dbo].[DbVersionen] WHERE [version] >= 20300)
UPDATE [dbo].[BspTabelle]
SET [BspFeld] = 'XXX'

...verursacht ein Fehler bei der Ausführung, wenn die Spalte [BspFeld] noch
nicht (erst ab interne Version 20300) vorhanden, obwohl die IF-Bedingung es
eigentlich ausschließen würde.

Wie kann ich die Überprüfung ausschalten oder die Abfrage anders schreiben,
damit es kein Fehler kommt?

Vielen Dank!

Ciao:
GG ;-)
 

Lesen sie die antworten

#1 Christoph Ingenhaag
23/10/2009 - 13:45 | Warnen spam
Hallo Georg,

nur per dynamischen SQL.

Als mit exec('<sql statement>') oder sp_executesql und passender
Fehlerbehandlung.

Schau dich hier mal um http://www.sommarskog.se/ (links auf deutsche
Übersetzungen sind enthalten)

Viele Grüße
Christoph

"Georg Gungl" schrieb im Newsbeitrag
news:hbs1a1$fc6$
Hallo NG,


die Abfrage...

IF EXISTS (SELECT * FROM [dbo].[DbVersionen] WHERE [version] >= 20300)
UPDATE [dbo].[BspTabelle]
SET [BspFeld] = 'XXX'

...verursacht ein Fehler bei der Ausführung, wenn die Spalte [BspFeld]
noch
nicht (erst ab interne Version 20300) vorhanden, obwohl die IF-Bedingung
es
eigentlich ausschließen würde.

Wie kann ich die Überprüfung ausschalten oder die Abfrage anders
schreiben,
damit es kein Fehler kommt?

Vielen Dank!

Ciao:
GG ;-)





Ähnliche fragen