SQL Server: изменить столбец с фиксированным значением - PullRequest
0 голосов
/ 09 октября 2018

У меня есть таблица с этим столбцом

ALTER TABLE TestTable ADD TestColumn AS '1'

Как мне изменить его на 2?

ALTER TABLE TestTable ALTER COLUMN TestColumn AS '2'

не работает.

Неверный синтаксис рядом с ключевым словом «AS».

Удаление и добавление столбца не является вариантом.

Ответы [ 2 ]

0 голосов
/ 09 октября 2018

Поскольку это столбец constant, вы должны воссоздать его:

ALTER TABLE TestTable DROP COLUMN TestColumn;
ALTER TABLE TestTable ADD TestColumn AS '2';

ALTER TABLE ... ALTER COLUMN ... Синтаксис недопустим с <computed_column_definition> - см. спецификацию .

ALTER COLUMN позволяет только следующее:

ALTER COLUMN column_name   
{   
    [ type_schema_name. ] type_name   
        [ (   
            {   
               precision [ , scale ]   
            }   
        ) ]   
    [ COLLATE collation_name ]   
    [ NULL | NOT NULL ] 
}  
0 голосов
/ 09 октября 2018

Вы можете попробовать это

alter table TestTable 
add default(2) for TestColumn 
...