Не можете да направите това точно в един оператор (или пакет) и изглежда, че инструментът, който използвате, не поддържа GO
като разделител на партиди.
Можете да използвате EXEC
все пак да го стартирате в дъщерен пакет.
ALTER TABLE A
ADD c1 INT, c2 VARCHAR(10);
EXEC('
UPDATE A
SET c1 = 23,
c2 = ''ZZXX'';
');
NB:Всички единични кавички в заявката трябва да бъдат удвоени, както е посочено по-горе, за да ги избегнат в низов литерал.
Или алтернативно можете да постигнете подобни резултати в един оператор с помощта на някои ограничения по подразбиране.
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;
Но това не е точно същото като оригиналната заявка, тъй като ограниченията по подразбиране ще бъдат оставени и може да се наложи да бъдат премахнати.