Atualizar tabela com SQL , apenas alguns campos
Boa Noite pessoal, meu problema é o seguinte :
Peguei um base de dados em Paradox com uma tabela com os campos assim(Não Todos) :
[u]TABELA PRODUTOS[/u]
CodigoProd- Auto
Produto
Preço
CodBarra
EstoqueAtual
Indicaçao
e outros campos ...
Preciso atualizar a tabela quase todo mês , com dados que chegam ,mas somente alguns campos, o campos ´ Estoqueatual´ e ´indicaçao´ , não podem ser alterados.
Como faço isto ?
Peguei um base de dados em Paradox com uma tabela com os campos assim(Não Todos) :
[u]TABELA PRODUTOS[/u]
CodigoProd- Auto
Produto
Preço
CodBarra
EstoqueAtual
Indicaçao
e outros campos ...
Preciso atualizar a tabela quase todo mês , com dados que chegam ,mas somente alguns campos, o campos ´ Estoqueatual´ e ´indicaçao´ , não podem ser alterados.
Como faço isto ?
Renato
Curtidas 0
Respostas
Boca 09
25/10/2004
Use a instrução UPDATE SQL desta forma:
[b:bfeecd619c]procedure[/b:bfeecd619c] MyUpdate;
[b:bfeecd619c]begin[/b:bfeecd619c]
[b:bfeecd619c]with[/b:bfeecd619c] Query1 [b:bfeecd619c]do begin[/b:bfeecd619c]
SQL.Clear;
SQL.Add(´UPDATE TABELA PRODUTOS SET CodigoProd- Auto = Valor´);
SQL.Add(´UPDATE TABELA PRODUTOS SET Produto = Valor´);
SQL.Add(´UPDATE TABELA PRODUTOS SET Preço = Valor´);
SQL.Add(´UPDATE TABELA PRODUTOS SET CodBarra = Valor´);
ExecSQL;
[b:bfeecd619c]end[/b:bfeecd619c];
[b:bfeecd619c]end[/b:bfeecd619c];
Valeu! :lol:
[b:bfeecd619c]procedure[/b:bfeecd619c] MyUpdate;
[b:bfeecd619c]begin[/b:bfeecd619c]
[b:bfeecd619c]with[/b:bfeecd619c] Query1 [b:bfeecd619c]do begin[/b:bfeecd619c]
SQL.Clear;
SQL.Add(´UPDATE TABELA PRODUTOS SET CodigoProd- Auto = Valor´);
SQL.Add(´UPDATE TABELA PRODUTOS SET Produto = Valor´);
SQL.Add(´UPDATE TABELA PRODUTOS SET Preço = Valor´);
SQL.Add(´UPDATE TABELA PRODUTOS SET CodBarra = Valor´);
ExecSQL;
[b:bfeecd619c]end[/b:bfeecd619c];
[b:bfeecd619c]end[/b:bfeecd619c];
Valeu! :lol:
GOSTEI 0
Marcio.theis
25/10/2004
Uma forma mais simplificada seria a seguinte:
qry.Close;
qry.SQL.Clear;
qry.SQL.Add(´update tabela_produtos´);
qry.SQL.Add(´set CodigoProd_Auto = CodProd´);
qry.SQL.Add(´, Produto = CodProd´);
qry.SQL.Add(´, Preço = Preco´);
qry.SQL.Add(´, CodBarra = Barra´);
qry.ExecSQL;
a única diferença é que não se repete as linhas UPDATE.
qry.Close;
qry.SQL.Clear;
qry.SQL.Add(´update tabela_produtos´);
qry.SQL.Add(´set CodigoProd_Auto = CodProd´);
qry.SQL.Add(´, Produto = CodProd´);
qry.SQL.Add(´, Preço = Preco´);
qry.SQL.Add(´, CodBarra = Barra´);
qry.ExecSQL;
a única diferença é que não se repete as linhas UPDATE.
GOSTEI 0
Rafs
25/10/2004
[quote:4ffe29df26=´/]/]@t´]Uma forma mais simplificada seria a seguinte:
qry.Close;
qry.SQL.Clear;
qry.SQL.Add(´update tabela_produtos´);
qry.SQL.Add(´set CodigoProd_Auto = CodProd´);
qry.SQL.Add(´, Produto = CodProd´);
qry.SQL.Add(´, Preço = Preco´);
qry.SQL.Add(´, CodBarra = Barra´);
qry.ExecSQL;
a única diferença é que não se repete as linhas UPDATE.[/quote:4ffe29df26]
Mas não esqueça de colocar as condições (where), caso elas existam, senão todos os seus registros terão o mesmo conteúdo.
qry.Close;
qry.SQL.Clear;
qry.SQL.Add(´update tabela_produtos´);
qry.SQL.Add(´set CodigoProd_Auto = CodProd´);
qry.SQL.Add(´, Produto = CodProd´);
qry.SQL.Add(´, Preço = Preco´);
qry.SQL.Add(´, CodBarra = Barra´);
qry.ExecSQL;
a única diferença é que não se repete as linhas UPDATE.[/quote:4ffe29df26]
Mas não esqueça de colocar as condições (where), caso elas existam, senão todos os seus registros terão o mesmo conteúdo.
GOSTEI 0
Marcio.theis
25/10/2004
Com certeza não pode se esquecer de adicionar o WHERE, AND, OR e demais filtros que se achar necessário, no caso o nosso colega RenoZ não nos reportou as condições que seriam utilizadas.....
GOSTEI 0
Renato
25/10/2004
Pessoal, as condições são :
-Produtos novos
-Produtos que existem na tab. atual mas que alteraram, por ex. o preço, nos dados que chegaram
Baseados no Codigo de Barras( que é unico ) do produto, o codigo do produto também é unico (Gerado autom.), mas não é importante para as vendas.
Os dados a que me refiro são da ABC farma(ainda em DBF), voces devem conhecer.
O soft esta rodando com impressora fiscal.
-Produtos novos
-Produtos que existem na tab. atual mas que alteraram, por ex. o preço, nos dados que chegaram
Baseados no Codigo de Barras( que é unico ) do produto, o codigo do produto também é unico (Gerado autom.), mas não é importante para as vendas.
Os dados a que me refiro são da ABC farma(ainda em DBF), voces devem conhecer.
O soft esta rodando com impressora fiscal.
GOSTEI 0