Du kan ikke gøre dette præcis i en enkelt sætning (eller batch), og det ser ud til, at det værktøj, du bruger, ikke understøtter GO
som en batchadskiller.
Du kan bruge EXEC
at køre det i en underordnet batch.
ALTER TABLE A
ADD c1 INT, c2 VARCHAR(10);
EXEC('
UPDATE A
SET c1 = 23,
c2 = ''ZZXX'';
');
NB:Alle enkelte anførselstegn i forespørgslen skal fordobles som ovenfor for at undslippe dem inde i en streng.
Eller alternativt kan du opnå lignende resultater i en enkelt erklæring ved hjælp af nogle standardbegrænsninger.
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;
Men dette er ikke helt det samme som den oprindelige forespørgsel, da standardbegrænsningerne vil blive efterladt og muligvis skal slettes.