--
Você recebeu esta mensagem porque está inscrito no Grupo "phpms" em Grupos do Google.
Para postar neste grupo, envie um e-mail para ph...@googlegroups.com
Para cancelar a sua inscrição neste grupo, envie um e-mail para phpms-un...@googlegroups.com
Para ver mais opções, visite este grupo em http://groups.google.com/group/phpms?hl=pt-PT
Para acessar o site do grupo, visite: http://www.phpms.org/
As regras de utilização deste grupo encontram-se em: http://www.phpms.org/regras-da-lista
SELECT currval('nome_da_sequencia');
P/ vc nao ter que ficar adivinhando o nome da sequencia, o postgresql
tem uma funcao chamada pg_get_serial_sequence, que te retorna o nome
da sequencia caso o campo seja serial.
SELECT currval(pg_get_serial_sequence('tabela', 'id'));
Nesse link tem algumas informacoes bem legais sobre isso.
http://neilconway.org/docs/sequences/
[]s
Begnini
2010/9/2 EduRibeiro <eduribe...@gmail.com>:
Pois bem, cada vez que voce faz isso, voce cria uma coisa chamada
sessao com o banco. Essa sessao existe desde a chamada do seu
pg_connect (ou new PDO()) ateh qdo vc chama um pg_close (ou
PDO::__destruct), que sao chamados quando o seu script termina, caso
voce nao os tenha chamados explicitamente.
Se durante uma sessao, voce pega um valor de uma sequencia (inserindo
nulo em um campo default nextval('sequencia'), por ex.), esse valor
fica gravado durante aquela sessao. Se existirem mil usuarios
inserindo ao mesmo tempo, cada um tera sua propria sessao e seu
proprio valor da sequencia.
Resumindo, nao tem como isso acontecer, a nao ser que o banco de dados
esteja com algum bug.
[]s
Begnini
2010/9/2 Eduardo Ribeiro Lima <eduribe...@gmail.com>:
Faca 2 conexoes com o banco (2 psql, por ex.). Crie uma tabela com um
campo serial. Insira nessa tabela na conexao 1 e pegue o currval da
sequencia. Insira na conexao 2 e pegue o currval da sequencia tambem.
Agora volte a conexao 1, selecione o currval da mesma sequencia de
novo e veja se o valor mudou.
Se tiver mudado, realmente o que eu disse nao funciona. Mas se nao
tiver mudado, funciona sim.
Banco de dados sao feitos p/ facilitar sua vida, p/ q vc nao tenha que
ficar pensando em problemas desse tipo. Ele deve ser capaz de
gerenciar concorrencia e manter integridade sem problemas. Se ele nao
faz isso, ou nao faz bem, eh melhor voce pensar seriamente em trocar
de banco.
[]s
Begnini
2010/9/3 Jorge Vilela <jorge....@gmail.com>: