NOT NULL flexível
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
Curtidas 0
Respostas
Motta
06/06/2006
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)
)
)
/
GOSTEI 0