Nie możesz tego zrobić dokładnie w jednej instrukcji (lub partii) i wygląda na to, że narzędzie, którego używasz, nie obsługuje GO
jako ogranicznik partii.
Możesz użyć EXEC
uruchomić go jednak w grupie potomnej.
ALTER TABLE A
ADD c1 INT, c2 VARCHAR(10);
EXEC('
UPDATE A
SET c1 = 23,
c2 = ''ZZXX'';
');
Uwaga:Wszystkie pojedyncze cudzysłowy w zapytaniu muszą zostać podwojone, jak powyżej, aby zmienić je wewnątrz literału ciągu.
Lub alternatywnie możesz osiągnąć podobne wyniki w jednym zdaniu przy pomocy pewnych domyślnych ograniczeń.
ALTER TABLE A
ADD c1 INT NULL CONSTRAINT DF_A_c1 DEFAULT 23 WITH VALUES,
c2 VARCHAR(10) CONSTRAINT DF_A_c2 NULL DEFAULT 'ZZXX' WITH VALUES;
Ale to nie jest dokładnie to samo, co oryginalne zapytanie, ponieważ domyślne ograniczenia zostaną pozostawione i może być konieczne usunięcie.