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

Responder a