Mam tabelę, a jedną z kolumn jest „Data” typu datetime. Zdecydowaliśmy się dodać domyślne ograniczenie do tej kolumny
Alter table TableName
alter column dbo.TableName.Date default getutcdate()
ale to daje mi błąd:
Niepoprawna składnia w pobliżu '.'
Czy ktoś widzi tutaj coś oczywiście niewłaściwego, czego mi brakuje (oprócz tego, że mam lepszą nazwę kolumny)
Odpowiedzi:
Spróbuj tego
przykład
upewnij się również, że nazwa domyślnego ograniczenia..Będzie to kark, aby upuścić go później, ponieważ będzie miał jedną z tych zwariowanych nazw generowanych przez system ... zobacz także Jak nazwać domyślne ograniczenia i jak usunąć domyślne ograniczenie bez Nazwa w SQL Server
źródło
możesz zawijać słowa zastrzeżone w nawiasach kwadratowych, aby uniknąć tego rodzaju błędów:
źródło
Korzystam z procedury przechowywanej poniżej, aby zaktualizować wartości domyślne w kolumnie.
Automatycznie usuwa wszelkie wcześniejsze wartości domyślne w kolumnie, przed dodaniem nowej wartości domyślnej.
Przykłady użycia:
Procedura składowana:
Błędy, które ta procedura przechowywana eliminuje
Jeśli spróbujesz dodać wartość domyślną do kolumny, gdy już istnieje, pojawi się następujący błąd (coś, czego nigdy nie zobaczysz, jeśli używasz tego przechowywanego proc):
źródło
W rzeczywistości musisz zrobić jak poniżej przykład, który pomoże rozwiązać problem ...
źródło
Podajesz nazwę tabeli dwa razy. Część ALTER TABLE nazywa tabelę. Wypróbuj: Zmień tabelę Nazwa tabeli Zmień kolumnę [Data] domyślna getutcdate ()
źródło
alter table Ograniczenie upuszczania TableName DF_TableName_WhenEntered
zmiana tabeli nazwa_tabeli dodaj ograniczenie DF_TableName_WhenEntered domyślna getutcdate () dla WhenEntered
źródło