sql - now - Getdate predeterminado para la fecha de inserción
now sql server (7)
Tengo una tabla llamada muestra y tiene una columna llamada [__INSERT_DATE] que es nula. Ahora quiero modificar la columna con el valor predeterminado como getdate()
. Cuando probé lo siguiente me dio un error.
ALTER TABLE sample
ALTER COLUMN [__INSERT_DATE] [datetime] DEFAULT (getdate()) NULL)
Alguien puede decirme cuál es el problema?
¿Getdate () devuelve el tipo de datos de fecha y hora correctos para su columna declarada? Hay algunos tipos de datos de fecha y hora nuevos en SQL Server 2008.
Aquí hay un artículo que explica algunas de las diferencias.
http://www.sql-server-performance.com/articles/dev/datetime_2008_p1.aspx
Prueba esto:
ALTER TABLE MyTable ADD CONSTRAINT
DF_MyTable_Inserted DEFAULT GETDATE() FOR INSERT_DATE
GO
Esto supone que su tabla se llama MyTable
, la columna es INSERT_DATE
, y el nombre de la contstraint debe ser DF_MyTable_Inserted
Prueba esto:
ALTER TABLE sample ADD CONSTRAINT DF_sample___INSERT_DATE DEFAULT(GETDATE()) FOR __INSERT_DATE
MSDN da este ejemplo:
ALTER TABLE MyCustomers ALTER COLUMN CompanyName SET DEFAULT ''A. Datum Corporation''
Eso te daria
ALTER TABLE sample ALTER COLUMN __INSERT_DATE SET DEFAULT GETDATE()
(Your_Date_Column) Conviértalo en Nulo / No Nulo y asigne el valor predeterminado GetDate (), pero aún así no funcionará. Tienes que crear un disparador como este,
CREAR TRIGGER [dbo]. [Trigger_Date] ON [dbo]. [TableName] PARA INSERTAR LO QUE COMIENCE
Declare @Id int
set @Id = (select Id from inserted)
Update [dbo].[TableName]
Set Your_Date_Column = GetDate()
Where Id = @Id
END
ALTER TABLE sample ALTER COLUMN [__INSERT_DATE] [datetime] DEFAULT (getdate()) NULL)
Tiene uno demasiados corchetes de cierre en la declaración anterior. Hay 2 de estos -> (pero 3 de estos ->)