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 TABLEmuestra la página msdn:En la misma página, podemos encontrar que las únicas opciones para
<table_constraint>sonPRIMARY KEY,FOREIGN KEYyCHECKlimitaciones:así que si desea agregar una restricción predeterminada (nombrando o no) las únicas formas son hacerlo en línea o con una
ALTER TABLEdeclaració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 valueen la definición de campo.O use ALTER TABLE:
fuente