Vous ne pouvez pas faire cela exactement dans une seule instruction (ou lot) et il semble que l'outil que vous utilisez ne supporte pas GO
comme délimiteur de lot.
Vous pouvez utiliser EXEC
pour l'exécuter dans un lot enfant cependant.
ALTER TABLE A
ADD c1 INT, c2 VARCHAR(10);
EXEC('
UPDATE A
SET c1 = 23,
c2 = ''ZZXX'';
');
NB :Tous les guillemets simples de la requête doivent être doublés comme ci-dessus pour les échapper à l'intérieur d'un littéral de chaîne.
Vous pouvez également obtenir des résultats similaires dans une seule instruction à l'aide de certaines contraintes par défaut.
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;
Mais ce n'est pas exactement la même chose que la requête d'origine car les contraintes par défaut seront laissées et devront peut-être être supprimées.