deu certo aqui, mas como ai dar erro ao se tentar incluir um valor que não satisfaça a condição, terei q criar uma trigger q chame uma função para colocar o valor em zero nesse caso. porém a trigger deve ser disparada antes do insert/update correto?
Em 12/06/07, Osvaldo Rosario Kussama <[EMAIL PROTECTED]> escreveu:
Emanoel Tadeu escreveu: > Prezados, > > atualmente um sistema nosso aqui utiliza dois bancos de dados. Um mysql > e outro postgresql. Recentemente chegmos a conclusão de que era melhor > reunir tudo em um só banco,o postgresql. O mysql é utilizado em um data > center que a empresa aluga, enquanto que o postgre é utilizado aqui > mesmo com a empresa. > > Recebi somente os scripts das tabelas do mysql para gerar as mesmas no > postgresql. no período em que estivermos realizando a migração, os dados > que antes eram destinados somente ao mysql será colocado tambem no > postgresql, para irmos testando aos poucos. > > Com isso, num "create table" em um script tem o seguinte: > > CLI_PRT1` smallint(5) unsigned NOT NULL default '0', > > Pesquisando sobre essa linha vi que unsigned não permite que valores > abaixo de zero sejam inseridos. Por exemlo, caso se tente inserir o > valor -52, o valor de fato a ser inserido é zero. > > Como fazer isso de modo equivalente no postgresql? alguém pode me dar > uma luz, por onde devo ir? > Para não permitir que sejam inseridos valores negativos utilize a cláusula CHECK na definição do campo. Veja column_constraint em: http://www.postgresql.org/docs/8.2/interactive/sql-createtable.html mas esta opção dá erro ao se tentar incluir um valor que não satisfaça a condição. Para alterar o valor a ser inserido caso o valor fornecido não satisfaça a uma dada condição (no caso >= 0) utilize uma função/trigger no INSERT e/ou UPDATE. http://www.postgresql.org/docs/8.2/interactive/sql-createtrigger.html []s Osvaldo _______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
-- -------------------------------------------------- Emanoel Tadeu Analista de Sistemas CheckRota - Rastreamento e Gestão de Frotas (85) 3261-7982
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
