Estou tentando criar uma nova tabela com colunas seguidas por suas restrições, como mostrado abaixo.
Create tblTest(
columns..
..
..
Gender int,
Constraint DF_tblTest_Gender Default 3 For Gender,
..
..
..
)
No entanto, estou recebendo uma mensagem de erro próxima à restrição padrão como,
'Sintaxe incorreta perto de' para ''
sql-server
sql-server-2016
constraint
Dhruv Raj
fonte
fonte
CREATE TABLE ...
declaração. Você tem um erro de sintaxe muito básico.Respostas:
Você pode nomear a restrição em linha:
Como a
CREATE TABLE
página msdn mostra:Na mesma página, podemos achar que as únicas opções para
<table_constraint>
sãoPRIMARY KEY
,FOREIGN KEY
eCHECK
restrições:portanto, se você deseja adicionar uma restrição padrão (nomear ou não), as únicas maneiras são fazê-lo de forma embutida ou com uma
ALTER TABLE
declaração.fonte
Seus comentários nas outras duas respostas afirmam que você não pode nomear uma restrição padrão ao criá-la "inline". As duas respostas mostram que você pode, de fato, fornecer um nome para a restrição ao criá-la em linha. Vou adicionar um terceiro exemplo, mostrando os resultados.
Isso mostra que o nome da restrição padrão é
DF_Test_SomeData
:Resultados:
Observar o explorador de objetos no SSMS mostra o nome:
fonte
Você pode usar
default value
na definição de campo.Ou use ALTER TABLE:
fonte