2011-01-12 19 views
15

Tengo una tabla llamada sample y tiene una columna llamada [__INSERT_DATE] que es nula. Ahora quiero modificar la columna con el valor predeterminado como getdate(). Cuando intenté lo siguiente, me dio un error.Getdate predeterminado para Insert date

ALTER TABLE sample 
ALTER COLUMN [__INSERT_DATE] [datetime] DEFAULT (getdate()) NULL) 

¿Alguien me puede decir cuál es el problema?

+1

Y el error fue ??? – Oded

+1

¿Cuál fue el mensaje de error? – DOK

+0

Msg 156, nivel 15, estado 1, línea 2 Sintaxis incorrecta cerca de la palabra clave 'DEFAULT'. –

Respuesta

22

Prueba esto:

ALTER TABLE MyTable ADD CONSTRAINT 
DF_MyTable_Inserted DEFAULT GETDATE() FOR INSERT_DATE 
GO 

Esto supone que su tabla se denomina MyTable, la columna es INSERT_DATE, y el nombre de la contstraint es ser DF_MyTable_Inserted

3

Prueba esto:

ALTER TABLE sample ADD CONSTRAINT DF_sample___INSERT_DATE DEFAULT(GETDATE()) FOR __INSERT_DATE 
1

MSDN da este ejemplo:

ALTER TABLE MyCustomers ALTER COLUMN CompanyName SET DEFAULT 'A. Datum Corporation' 

que le daría

ALTER TABLE sample ALTER COLUMN __INSERT_DATE SET DEFAULT GETDATE() 
+0

Me dio el siguiente error Msg 156, nivel 15, estado 1, línea 2 Sintaxis incorrecta cerca de la palabra clave 'SET'. –

+0

@Sam ¿¡Cómo podría algo tan simple ser tan complicado !? ¿Tenemos el nombre y el tipo de datos correctos para la columna Insertar fecha? Es un datetime, no un varchar o algo más? – DOK

1

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 ellos -> (pero 3 de ellos ->)

0

pude hacerlo utilizando SSManagement Estudio

Setting default in SSMS - Screen Shot

hacen que el campo de fecha no anulable, a continuación, a partir de las propiedades conjunto defalut Valor o enlace para getdate()

Cuestiones relacionadas