Gilberto Godoy <[EMAIL PROTECTED]> escreveu: Caro Oswaldo agradeço pela sua 
cordialidade em esclarecer a minha dúvida. Agora, respondendo aos seus 
questionamentos:

1- Os campos  cliente_id, tipoatend_id e funcionario_id da tabela 
atendimentostemp são chaves extrangeiras sim.

2- O comando abaixo, roda OK e informa que foram atualizados os 12.080 
registros. Contudo, estes registros não aparecem na tabela - a coluna 
funcionario_id da tabela atendimentostemp estranhamente permanece em branco. 
(Preferi fazer UPDATES separados para cada coluna afim de observar 
isoladadamente cada resultado):

UPDATE atendimentostemp 
SET funcionario_id =
(SELECT id FROM funcionarios 
WHERE funcionarios.nomefuncionario= atendimentostemp.nomefuncionario); 


Pelo que entendi de sua explicação o campo permanece em branco, é isso? Se for 
este o caso muito provavelmente o SELECT não está retornando nada. Talvez 
esteja colocando NULL no campo funcionario_id em todas as linhas.
Faça o seguinte teste:

SELECT DISTINCT funcionarios.id FROM atendimentostemp
              JOIN  funcionarios 
              ON (funcionarios.nomefuncionario = 
atendimentostemp.nomefuncionario);

3- Por outro lado, o comando abaixo, também roda OK, porém informa que foram 
atualizados 0 registros.

UPDATE atendimentostemp 
SET funcionario_id = funcionarios.id  
FROM funcionarios
WHERE  atendimentostemp.nomefuncionario=  funcionarios .nomefuncionario; 


Tudo indica que este comando está correto.

4- Ou seja, no primeiro comando a cláusula WHERE é TRUE e no segundo é FALSE. 
(???).

Não. 

Nos dois comandos inverti a ordem dos parâmetros da cláusula WHERE e os 
resultados são iguais aos já decritos.

Agradeço pela orientação e aproveito para desejar a voce e a todos da lista um 
feliz 2007.

[]s
Osvaldo


 __________________________________________________
Fale com seus amigos  de graça com o novo Yahoo! Messenger 
http://br.messenger.yahoo.com/ 
_______________________________________________
Grupo de Usuários do PostgreSQL no Brasil
Antes de perguntar consulte o manual
http://pgdocptbr.sourceforge.net/

Para editar suas opções ou sair da lista acesse a página da lista em:
http://pgfoundry.org/mailman/listinfo/brasil-usuarios

Responder a