sql server 2005: como colocar restrição de não nulo em uma coluna dependendo valor em outra coluna?
-
05-07-2019 - |
Pergunta
em uma tabela de duas das colunas são cobráveis ??(bit), billabledate (datetime) .i deseja data faturáveis ??para não ser nulo se faturáveis ??não é nulo.
Solução
Adicionar uma restrição de verificação:
CHECK (faturáveis ??não é nulo e billabledate não é null) OR (faturável é null)
Outras dicas
Você precisa de uma restrição CHECK
ALTER TABLE dbo.Table COM NOCHECK
ADD CONSTRAINT CK_Table_BusinessRule
CHECK (faturáveis ??não é nula e BillableDate IS NOT NULL)
http://msdn.microsoft.com/ en-us / library / ms179491 (SQL.90) .aspx
Eu tentaria adicionando um gatilho para a mesa, depois de inserção e após a atualização, para impor essa restrição. Verifique o valor a cobrar, e bloco de insert / update no caso, não é nulo eo billabledate é nulo.