У меня есть таблица и один из столбцов «Дата» типа datetime. Мы решили добавить ограничение по умолчанию для этого столбца
Alter table TableName
alter column dbo.TableName.Date default getutcdate()
но это дает мне ошибку:
Неверный синтаксис рядом с '.'
Кто-нибудь видит здесь что-то явно не то, чего мне не хватает (кроме лучшего названия колонки)
Ответы:
Попробуй это
пример
также убедитесь, что вы называете ограничение по умолчанию. Это будет боль в шее, чтобы отбросить его позже, потому что у него будет одно из этих сумасшедших имен, сгенерированных системой ... см. также Как назвать ограничения по умолчанию и Как удалить ограничение по умолчанию без Имя в SQL Server
источник
Вы можете заключить зарезервированные слова в квадратные скобки, чтобы избежать следующих ошибок:
источник
Я использую хранимую процедуру ниже, чтобы обновить значения по умолчанию для столбца.
Он автоматически удаляет все предыдущие значения по умолчанию в столбце перед добавлением нового значения по умолчанию.
Примеры использования:
Хранимая процедура:
Ошибки, которые эта хранимая процедура устраняет
Если вы попытаетесь добавить столбец по умолчанию, если он уже существует, вы получите следующую ошибку (что вы никогда не увидите при использовании этого хранимого процесса):
источник
На самом деле вы должны сделать как приведенный ниже пример, который поможет решить проблему ...
источник
Вы указываете имя таблицы дважды. Часть ALTER TABLE называет таблицу. Попробуйте: изменить таблицу TableName изменить столбец [Дата] по умолчанию getutcdate ()
источник
изменить ограничение удаления таблицы TableName DF_TableName_WhenEntered
изменить таблицу TableName добавить ограничение DF_TableName_WhenEntered по умолчанию getutcdate () для WhenEntered
источник