Fórum SQL com nome dinâmico de tabelas. #167125

30/06/2003

0

Pessoal,

Preciso fazer um update no mesmo campo de várias tabelas. Fiz a função abaixo e queria saber se funciona. Desde já agradeço. Vinicius

procedure TfrmPrincipal.FazUpdate(pNomeTabela, pCodModOriginal, pCodModTroca: string);
begin
with qryAux do
begin
Close;
SQL.Clear;
SQL.Add(´UPDATE´ + pNomeTabela + ´SET COD_MODULO =:novocodigo´);
SQL.Add(´WHERE COD_MODULO =:codigoatual´);
ParamByName(´novocodigo´).AsString := pCodModTroca;
ParamByName(´codigoatual´).AsString := pCodModOriginal;
ExecSQL;
end;
end;


Vfalseth

Vfalseth

Responder

Posts

30/06/2003

Jurandi

Com certeza funciona, mas não se esqueça que ao concatenar strings, não podemos ignorar os espaços (brancos) existentes entre clausulas/comandos.

Boa sorte,

Jurandi


Responder

Gostei + 0

30/06/2003

Thaisandrade

Não testei seu exemplo para saber se funciona, mas você pode gerar a instrução S.Q.L. usando variáveis normalmente. Lembre-se que a instrução S.Q.L. nada mais é do que uma sequência de caracteres que você pode concatenar.Só tem que ter cuidado com os tipos de dados, no caso de uma comparação ou, no seu caso, de um update.


Responder

Gostei + 0

30/06/2003

Leonardo Wolf

Além de concatenar vc precisa passar precisa usar a função QuotedStr
ou incluir +´´´+nomedatable+´´´´


Responder

Gostei + 0

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar