Ich habe eine Tabelle und eine der Spalten ist "Datum" vom Typ datetime. Wir haben beschlossen, dieser Spalte eine Standardeinschränkung hinzuzufügen
Alter table TableName
alter column dbo.TableName.Date default getutcdate()
aber das gibt mir Fehler:
Falsche Syntax in der Nähe '.'
Hat hier jemand offensichtlich etwas falsches gesehen, was mir fehlt (außer einen besseren Namen für die Spalte zu haben)?
Antworten:
Versuche dies
Beispiel
Stellen Sie außerdem sicher, dass Sie die Standardeinschränkung benennen. Es wird Ihnen schwer fallen, sie später fallen zu lassen, da sie einen dieser verrückten systemgenerierten Namen enthält. Siehe auch So benennen Sie Standardbeschränkungen und So lassen Sie Standardbeschränkungen ohne fallen Ein Name in SQL Server
quelle
Sie können reservierte Wörter in eckige Klammern setzen, um folgende Fehler zu vermeiden:
quelle
Ich verwende die unten gespeicherte Prozedur, um die Standardeinstellungen für eine Spalte zu aktualisieren.
Vor dem Hinzufügen des neuen Standards werden automatisch alle vorherigen Standardeinstellungen in der Spalte entfernt.
Anwendungsbeispiele:
Gespeicherte Prozedur:
Fehler, die diese gespeicherte Prozedur beseitigt
Wenn Sie versuchen, einer Spalte einen Standard hinzuzufügen, wenn bereits eine vorhanden ist, wird der folgende Fehler angezeigt (etwas, das Sie bei Verwendung dieses gespeicherten Prozesses nie sehen werden):
quelle
Eigentlich müssen Sie wie im folgenden Beispiel vorgehen, um das Problem zu lösen ...
quelle
Sie geben den Tabellennamen zweimal an. Der Teil ALTER TABLE benennt die Tabelle. Versuchen Sie: Tabelle ändern Tabellenname Spalte ändern [Datum] default getutcdate ()
quelle
Tabelle ändern Tabellenname Drop-Einschränkung DF_TableName_WhenEntered
Tabelle ändern Tabellenname Einschränkung hinzufügen DF_TableName_WhenEntered Standard getutcdate () für WhenEntered
quelle