Em 23 de outubro de 2017 12:59, Luiz Carlos L. Nogueira Jr. < [email protected]> escreveu:
> Fazer um update com limit 1 não funcionaria? > O LIMIT se aplica ao SELECT, a condição do UPDATE vem pelo WHERE. Você tem que fazer algo assim: SELECT *ctid, ** FROM tabela; UPDATE tabela SET ... WHERE *ctid = ( xxx, yyy)::tid* Onde xxx e yyy são o par de números exibidos no ctid que você recebeu no seu SELECT. > Em 17 de outubro de 2017 10:17, Edelson Regis de Lima <[email protected]> > escreveu: > >> Obrigado pessoal! >> Obrigado a todos pela ajuda! >> >> Grande abraço! >> >> -- >> *Edelson Regis de Lima* >> >> Em 16 de outubro de 2017 15:01, Michel Luiz Milezzi < >> [email protected]> escreveu: >> >>> Edelson, neste caso você deve usar a localização física dos registros >>> (coluna implícita ctid). >>> >>> https://www.postgresql.org/docs/current/static/ddl-system-columns.html >>> >>> Em 16 de outubro de 2017 15:51, Danilo Silva <[email protected] >>> > escreveu: >>> >>>> >>>> >>>> Danilo Gomes >>>> >>>> Em 16 de outubro de 2017 15:32, Edelson Regis de Lima < >>>> [email protected]> escreveu: >>>> >>>>> Olá Flávio. >>>>> >>>>> Mas com esse exemplo você está supondo que na tabela exista o campo >>>>> "id" que seria uma chave única, correto? >>>>> O problema é que nessa tabela que mencionei não sei porque raios não >>>>> existe essa chave única. Tem um campo id, auto incremento, que seria essa >>>>> chave única, mas não sei como o sistema conseguiu inserir dois registros >>>>> identicos, inclusive o valor do id... >>>>> Então eu teria que ver se dá para identificar de outra maneira, pela >>>>> posição física do registro, sei lá... >>>>> Não sei se isso é possível... rs >>>>> >>>>> Você tem duas opções: >>>> a) se a tabela possuir o campo OID (essa coluna normalmente fica >>>> invisível, depende do método de criação da tabela), você pode deletar por >>>> esse registro, exemplo: SELECT OID, col_a, >>>> col_ >>>> b FROM tabela, e depois deletar: DELETE FROM tabela WHERE (OID = ?) >>>> >>>> b) se a tabela não for muito grande, você pode adicionar uma nova >>>> coluna com >>>> >>>> >>>> o tipo sendo serial: ALTER TABLE tabela ADD COLUMN cod_delete serial. >>>> Com isso você consegue deletar através do código dessa coluna. >>>> >>>> []s >>>> Danilo >>>> >>>> _______________________________________________ >>>> pgbr-geral mailing list >>>> [email protected] >>>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>>> >>> >>> >>> _______________________________________________ >>> pgbr-geral mailing list >>> [email protected] >>> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >>> >> >> >> >> >> _______________________________________________ >> pgbr-geral mailing list >> [email protected] >> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral >> > > > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral > -- Atenciosamente, Fábio Telles Rodriguez blog: http:// <http://www.midstorm.org/~telles/>s <http://tellesr.wordpress.com/>avepoint.blog.br e-mail / gtalk / MSN: [email protected] Skype: fabio_telles Timbira - A empresa brasileira de Postgres http://www.timbira.com.br
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
