Eu tenho uma tabela e uma das colunas é "Data" do tipo datetime. Decidimos adicionar uma restrição padrão a essa coluna
Alter table TableName
alter column dbo.TableName.Date default getutcdate()
mas isso me dá erro:
Sintaxe incorreta perto de '.'
Alguém vê algo obviamente errado aqui, o que me falta (além de ter um nome melhor para a coluna)
Respostas:
Tente isto
exemplo
também certifique-se de nomear a restrição padrão .. será uma dor de cabeça para eliminá-la mais tarde, pois terá um desses nomes malucos gerados pelo sistema ... consulte também Como nomear restrições padrão e como eliminar restrições padrão sem Um nome no SQL Server
fonte
você pode colocar palavras reservadas entre colchetes para evitar esses tipos de erros:
fonte
Eu uso o procedimento armazenado abaixo para atualizar os padrões em uma coluna.
Ele remove automaticamente os padrões anteriores da coluna, antes de adicionar o novo padrão.
Exemplos de uso:
Procedimento armazenado:
Erros que este procedimento armazenado elimina
Se você tentar adicionar um padrão a uma coluna quando uma já existir, você receberá o seguinte erro (algo que você nunca verá se usar este procedimento armazenado):
fonte
Na verdade, você deve fazer o exemplo abaixo, o que ajudará a resolver o problema ...
fonte
Você está especificando o nome da tabela duas vezes. A parte ALTER TABLE nomeia a tabela. Tente: Altere a tabela TableName altere a coluna [Date] default getutcdate ()
fonte
alterar tabela restrição de descarte de TableName DF_TableName_WhenEntered
alterar tabela TableName adicionar restrição DF_TableName_WhenEntered getutcdate () padrão para WhenEntered
fonte