2011-01-12 9 views
15

Mam tabelę o nazwie próbki i ma kolumnę o nazwie [__INSERT_DATE], która ma wartość null. Teraz chcę zmienić kolumnę domyślnie jako getdate(). Kiedy próbowałem następujących to dało mi błąd.Domyślne getdate for Insert date

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

Czy ktoś może mi powiedzieć, jaki jest problem?

+1

I błąd był? – Oded

+1

Jaki był komunikat o błędzie? – DOK

+0

Msg 156, Poziom 15, Stan 1, Wiersz 2 Niepoprawna składnia w pobliżu słowa kluczowego "DEFAULT". –

Odpowiedz

22

Spróbuj tego:

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

Zakłada tabela nazywa MyTable kolumna jest INSERT_DATE i nazwa contstraint ma być DF_MyTable_Inserted

3

Spróbuj tego:

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

MSDN podaje następujący przykład:

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

Że daje

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

Dało mi to następujący błąd: Msg 156, Level 15, State 1, Line 2 Niepoprawna składnia w pobliżu słowa kluczowego "SET". –

+0

@Sam Jak coś tak prostego może być tak skomplikowane !? Czy mamy poprawną nazwę i typ danych dla kolumny Wstaw datę? Jest datetime, a nie varchar czy coś innego? – DOK

1

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

masz zbyt wielu nawiasów zamykających w powyższym stwierdzeniem. Istnieją 2 z nich -> (ale 3 z nich ->)

0

udało mi się zrobić to za pomocą SSManagement Studio

Setting default in SSMS - Screen Shot

uczynić pole data pustych, a następnie od właściwości zestaw defalut Wartość lub wiązanie do getdate()