No Microsoft SQL Server, conheço a consulta para verificar se existe uma restrição padrão para uma coluna e soltar uma restrição padrão:
IF EXISTS(SELECT * FROM sysconstraints
WHERE id=OBJECT_ID('SomeTable')
AND COL_NAME(id,colid)='ColName'
AND OBJECTPROPERTY(constid, 'IsDefaultCnst')=1)
ALTER TABLE SomeTable DROP CONSTRAINT DF_SomeTable_ColName
Mas devido a erros de digitação nas versões anteriores do banco de dados, o nome da restrição pode ser DF_SomeTable_ColName
ou DF_SmoeTable_ColName
.
Como posso excluir a restrição padrão sem erros de SQL? Os nomes de restrição padrão não aparecem na tabela INFORMATION_SCHEMA, o que torna as coisas um pouco mais complicadas.
Portanto, algo como 'exclua a restrição padrão nesta tabela / coluna' ou 'exclua DF_SmoeTable_ColName
', mas não cometa erros se não conseguir encontrá-la.