Você não pode fazer isso exatamente em uma única instrução (ou lote) e parece que a ferramenta que você está usando não suporta
GO
como delimitador de lote. Você pode usar
EXEC
para executá-lo em um lote filho. ALTER TABLE A
ADD c1 INT, c2 VARCHAR(10);
EXEC('
UPDATE A
SET c1 = 23,
c2 = ''ZZXX'';
');
NB:Todas as aspas simples na consulta precisam ser dobradas como acima para escapar delas dentro de uma string literal.
Ou, alternativamente, você pode obter resultados semelhantes em uma única instrução com a ajuda de algumas restrições padrão.
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;
Mas isso não é exatamente o mesmo que a consulta original, pois as restrições padrão serão deixadas para trás e podem precisar ser descartadas.