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
