Non puoi farlo esattamente in una singola istruzione (o batch) e sembra che lo strumento che stai utilizzando non supporti GO
come delimitatore batch.
Puoi usare EXEC
per eseguirlo in un batch figlio però.
ALTER TABLE A
ADD c1 INT, c2 VARCHAR(10);
EXEC('
UPDATE A
SET c1 = 23,
c2 = ''ZZXX'';
');
NB:tutte le virgolette singole nella query devono essere raddoppiate come sopra per evitarle all'interno di una stringa letterale.
O in alternativa potresti ottenere risultati simili in una singola istruzione con l'ausilio di alcuni vincoli predefiniti.
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;
Ma questo non è esattamente lo stesso della query originale poiché i vincoli predefiniti verranno lasciati indietro e potrebbe essere necessario eliminarli.