On Sat, Jan 17, 2015 at 01:00:53PM -0200, Matheus Saraiva wrote:
> Eu tenho uma tabela funcionário onde existem os campos nome, rg, cpf, cnh,
> cnhcateg, cnhvenc.
>
> Eu preciso fazer com que os campos cnhcateg e cnhvenc sejam NOT NULL caso o
> campo cnh não seja nulo, ou seja, se o usuário informou a cnh terá
> obrigatoriamente que informar a categoria e o vencimento.
> Como seria possível realizar isso em PostgreSQL? Seria através de gatilhos?
> 
> --
> Chapecó - SC
(Apenas complementando o Flavio)

Você precisará usar constraints, cuja documentação pode ser conferida em
[1].

Um simples exemplo (que não servirá para copy-paste) poderia ser incluir
no CREATE TABLE ou no ALTER TABLE a declaração:

CHECK (
   CASE WHEN cnh IS NOT NULL THEN
           cnhcateg IS NOT NULL
       AND cnhvenc  IS NOT NULL
   END
)

[1] http://www.postgresql.org/docs/current/static/ddl-constraints.html

[]'s
-- 
"Não manejo bem as palavras
Mas manipulo bem as strings."
------------------------------
http://tecnoveneno.blogspot.com
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a