Em 24 de novembro de 2011 23:40, Marcal Hokama <[email protected]> escreveu:
>
>> Olá pessoal,
>>
>>
>> Podem ajudar no seguinte, eu tenho uma tabela espacial com varias
>> colunas e quero implementar umas restrições ao preencher. No entanto,
>> não posso implementar uma restrição normal porque os registos já estão
>> lá, só quero é que, ao actualizar, o campo X só possa ser por exemplo
>> entre 1 e 12. Se tentar uma restrição normal em que o campo X não pode
>> ser Y nem sequer me deixa implementar porque os registos de lá estão
>> todos a null, só vão ser actualizados depois.
>>
>
> Olá Pedro,
>
> Se entendi a sua situação, você quer criar uma check constraint na sua 
> tabela, que não faça a validação dos dados já existentes. No SGDB Oracle, 
> seria a opção "NOVALIDATE" [1].
>
> No PostgreSQL 9.2, pelo que vi em [2] e [3], há uma opção com finalidade 
> semelhante: "NOT VALID".
>
> [1] http://docs.oracle.com/cd/B28359_01/server.111/b28310/general005.htm
> [2] http://www.depesz.com/index.php/2011/07/01/waiting-for-9-2-not-valid-checks/
>


Apenas lembrando:
"PostgreSQL 9.2 Development Plan
...
Around February 20, 2012: 9.2alpha4 release "

http://wiki.postgresql.org/wiki/PostgreSQL_9.2_Development_Plan

Creio que Pedro procura por uma solução mais a curto prazo.

Talvez uma trigger ON UPDATE possa resolver até que os dados do banco
sejam todo corrigidos.

Osvaldo
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a