Tengo una tabla y una de las columnas es "Fecha" de tipo datetime. Decidimos agregar una restricción predeterminada a esa columna
Alter table TableName
alter column dbo.TableName.Date default getutcdate()
pero esto me da un error:
Sintaxis incorrecta cerca '.'
¿Alguien ve algo obviamente mal aquí, que me falta (aparte de tener un mejor nombre para la columna)
Respuestas:
Prueba esto
ejemplo
también asegúrese de nombrar la restricción predeterminada ... será un dolor en el cuello soltarla más tarde porque tendrá uno de esos nombres locos generados por el sistema ... vea también Cómo nombrar las restricciones predeterminadas y cómo soltar la restricción predeterminada sin Un nombre en SQL Server
fuente
Puede ajustar las palabras reservadas entre corchetes para evitar este tipo de errores:
fuente
Utilizo el procedimiento almacenado a continuación para actualizar los valores predeterminados en una columna.
Elimina automáticamente cualquier valor predeterminado anterior en la columna, antes de agregar el nuevo valor predeterminado.
Ejemplos de uso:
Procedimiento almacenado:
Errores que este procedimiento almacenado elimina
Si intenta agregar un valor predeterminado a una columna cuando ya existe una, obtendrá el siguiente error (algo que nunca verá si usa este proceso almacenado):
fuente
En realidad, debe hacer lo siguiente en el ejemplo, que ayudará a resolver el problema ...
fuente
Estás especificando el nombre de la tabla dos veces. La parte ALTER TABLE nombra la tabla. Intente: Alterar tabla TableName alterar columna [Fecha] getutcdate predeterminado ()
fuente
Alterar tabla TableName Restricción de caída DF_TableName_WhenEntered
alter table TableName agregar restricción DF_TableName_WhenEntered default getutcdate () para WhenEntered
fuente