Nemůžete to udělat přesně v jednom příkazu (nebo dávce) a zdá se, že nástroj, který používáte, nepodporuje GO
jako oddělovač šarže.
Můžete použít EXEC
spustit jej však v podřízené dávce.
ALTER TABLE A
ADD c1 INT, c2 VARCHAR(10);
EXEC('
UPDATE A
SET c1 = 23,
c2 = ''ZZXX'';
');
Pozn.:Všechny jednoduché uvozovky v dotazu je třeba zdvojnásobit, jak je uvedeno výše, aby bylo možné uniknout do řetězcového literálu.
Nebo alternativně můžete dosáhnout podobných výsledků v jediném příkazu s pomocí některých výchozích omezení.
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 není úplně stejné jako původní dotaz, protože výchozí omezení zůstanou pozadu a možná bude nutné je zrušit.