Bruno Villa Lobos D'Amico escreveu:
> Olá pessoal,
>
> Estou com dificuldade para fazer um UPDATE em uma tabela.
> Tenho duas tabelas: uma geral e outra com atualizações para a tabela geral.
> Ou seja, as duas têm praticamente o mesmo formato.
>
> CREATE TABLE "PartsList" (
> "PartNo" CHAR(11),
> "PartsName" VARCHAR(40),
> "Qty" NUMBER,
> "ECI(From)" VARCHAR(9),
> "ECI(To)" VARCHAR(9),
> "TimeControl" DATE, /* esta coluna é atualizada através de outros
> updates */
> CONSTRAINT "PartsList_pkey" PRIMARY KEY("PartNo", "ECI(From)")
> );
>
> CREATE TABLE "Update" (
> "PartNo" CHAR(11),
> "PartsName" VARCHAR(40),
> "Qty" NUMBER,
> "ECI(From)" VARCHAR(9),
> "ECI(To)" VARCHAR(9)
> );
>
> Na tabela PartsList estão todas as peças cadastradas com o histórico de
> modificação feito através das colunas ECI(From) e ECI(To).
>
> A tabela Update é um file txt que recebo todos os dias com atualizações
> das peças.
> Esta tabela possue registros que já existem em PartsList acrescidos de
> uma informação na ECI(To)
> e novos registros que não existem em PartsList.
>
> Para inserir em PartsList os novos registros de Update eu consegui.
> Eu não estou conseguindo atualizar somente a coluna "ECI(To)" da tabela
> PartList através da tabela Update
> sem apagar o registro e inserí-lo de novo. (não posso apagar e inserir
> de novo pois tenho a coluna "TimeControl")
>
> A solução abaixo já foi testada e não funcionou.
>
> UPDATE "PartsList" SET "ECI(To)" = "Update"."ECI(To)" FROM "Update"
> WHERE
> "PartsList"."PartNo"="Update"."PartNo" AND
> "PartsList"."ECI(From)"="Update"."ECI(From)";
>
> O script roda mas não altera nenhum registro. Já verifiquei o conteúdo
> das tabelas e deveria ser feita a atualização na coluna "ECI(To)", mas
> não faz.
Pelo que você descreveu de seu problema o comando UPDATE acima deveria
funcionar.
Provavelmente existe algum outro detalhe em seu modelo que passou
despercebido ou você esqueceu de citar.
[]s
Osvaldo
_______________________________________________________
O Yahoo! está de cara nova. Venha conferir!
http://br.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