Ich versuche, eine neue Tabelle mit Spalten zu erstellen, gefolgt von deren Einschränkung, wie unten gezeigt.
Create tblTest(
columns..
..
..
Gender int,
Constraint DF_tblTest_Gender Default 3 For Gender,
..
..
..
)
Ich erhalte jedoch eine Fehlermeldung in der Nähe der Standardeinschränkung als:
'Falsche Syntax in der Nähe von' für ''
sql-server
sql-server-2016
constraint
Dhruv Raj
quelle
quelle
CREATE TABLE ...
Anweisung werfen . Sie haben einen sehr grundlegenden Syntaxfehler.Antworten:
Sie können die Einschränkung inline benennen:
Wie die
CREATE TABLE
msdn-Seite zeigt:In der gleichen Seite können wir feststellen , dass die einzigen Optionen für
<table_constraint>
sindPRIMARY KEY
,FOREIGN KEY
undCHECK
Einschränkungen:Wenn Sie also eine Standardeinschränkung hinzufügen möchten (Benennung oder nicht), können Sie dies nur inline oder mit einer
ALTER TABLE
Anweisung tun .quelle
Ihre Kommentare zu den beiden anderen Antworten besagen, dass Sie beim Erstellen einer "Inline" -Einschränkung keine Standardeinschränkung benennen können. Beide Antworten zeigen, dass Sie beim Inline-Erstellen tatsächlich einen Namen für die Einschränkung angeben können. Ich werde ein drittes Beispiel hinzufügen, das die Ergebnisse zeigt.
Dies zeigt, dass der Name der Standardeinschränkung lautet
DF_Test_SomeData
:Ergebnisse:
Wenn Sie sich den Objekt-Explorer in SSMS ansehen, wird der Name angezeigt:
quelle
Sie können
default value
auf der Felddefinition verwenden.Oder verwenden Sie ALTER TABLE:
quelle