Fórum NOT NULL flexível #28488
06/06/2006
0
Bom dia Pessoal!
Seguinte, Tenho uma tabela(Fornecedor e cliente etc...) que possui
varios dados e dependendo de um campo TIPO(Fornecedor e cliente
etc...) alguns campos serão NOT NULL ou não. isso é possivel a nivel
de banco? Uma Check Constraints será? e como seria o codigo?
alguma outra sugestão?
Seguinte, Tenho uma tabela(Fornecedor e cliente etc...) que possui
varios dados e dependendo de um campo TIPO(Fornecedor e cliente
etc...) alguns campos serão NOT NULL ou não. isso é possivel a nivel
de banco? Uma Check Constraints será? e como seria o codigo?
alguma outra sugestão?
Gabrielherdt
Curtir tópico
+ 0
Responder
Posts
06/06/2006
Motta
algo assim :
imagine uma tabela fornecedor
fornecedor
------------
codigo
tipo char(1) NOT NULL,
cpf n(11) NULL,
cgc n(11) NULL ....
cria contraints assim
ALTER TABLE FORNECEDOR
ADD CONSTRAINT CHK_TIPO (
TIPO_VINCULO IN (´J´,´F´) )
/
ALTER TABLE FORNECEDOR
ADD CONSTRAINT CHK_CGFCPF CHECK (
(TIPO=´J´ AND CGC IS NOT NULL AND CPF IS NULL) OR
(TIPO=´F´ AND CGC IS NULL AND CPF IS NOT NULL)
)
)
/
imagine uma tabela fornecedor
fornecedor
------------
codigo
tipo char(1) NOT NULL,
cpf n(11) NULL,
cgc n(11) NULL ....
cria contraints assim
ALTER TABLE FORNECEDOR
ADD CONSTRAINT CHK_TIPO (
TIPO_VINCULO IN (´J´,´F´) )
/
ALTER TABLE FORNECEDOR
ADD CONSTRAINT CHK_CGFCPF CHECK (
(TIPO=´J´ AND CGC IS NOT NULL AND CPF IS NULL) OR
(TIPO=´F´ AND CGC IS NULL AND CPF IS NOT NULL)
)
)
/
Responder
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)