Estoy tratando de crear una nueva tabla con columnas seguidas de su restricción como se muestra a continuación.
Create tblTest(
columns..
..
..
Gender int,
Constraint DF_tblTest_Gender Default 3 For Gender,
..
..
..
)
Sin embargo, recibo un mensaje de error cerca de la restricción predeterminada como,
'Sintaxis incorrecta cerca de' para ''
sql-server
sql-server-2016
constraint
Dhruv Raj
fuente
fuente
CREATE TABLE ...
declaración. Tiene un error de sintaxis muy básico.Respuestas:
Puede nombrar la restricción en línea:
Como
CREATE TABLE
muestra la página msdn:En la misma página, podemos encontrar que las únicas opciones para
<table_constraint>
sonPRIMARY KEY
,FOREIGN KEY
yCHECK
limitaciones:así que si desea agregar una restricción predeterminada (nombrando o no) las únicas formas son hacerlo en línea o con una
ALTER TABLE
declaración.fuente
Sus comentarios sobre las otras dos respuestas afirman que no puede nombrar una restricción predeterminada al crearla "en línea". Ambas respuestas muestran que, de hecho, puede proporcionar un nombre para la restricción al crearla en línea. Agregaré un tercer ejemplo, que muestra los resultados.
Esto muestra que el nombre de la restricción predeterminada es
DF_Test_SomeData
:Resultados:
Mirando el explorador de objetos en SSMS muestra el nombre:
fuente
Puede usar
default value
en la definición de campo.O use ALTER TABLE:
fuente