Fórum CODIGOS CLIENTES IBEXPERT #387332

27/09/2010

0

Boa Tarde,   Estou precisando mudar todos os codigos da tabela de clientes do meu banco de dados, São mais de 5000, estou precisando reorganiza-los. FireBird 1.5 estou utilizando o IBEXPERT. Alguem saberia me dizer se é possível, pois o maximo que consegui foi exportar para xls utilizando o SQL EDITOR.   Agradeço a atenção!
Guelman

Guelman

Responder

Posts

29/09/2010

Guelman

Boa Tarde,   Estou precisando mudar todos os codigos da tabela de clientes do meu banco de dados, São mais de 5000, estou precisando reorganiza-los. FireBird 1.5 estou utilizando o IBEXPERT. Alguem saberia me dizer se é possível, pois o maximo que consegui foi exportar para xls utilizando o SQL EDITOR.   Agradeço a atenção!
    Ninguem???
Responder

Gostei + 0

29/09/2010

Emerson Nascimento

mas você quer reorganizar como? renumerar? qual a ordem dessa renumeração?
Responder

Gostei + 0

29/09/2010

Guelman

mas você quer reorganizar como? renumerar? qual a ordem dessa renumeração?
  Sim, preciso renumerar todos os codigo, pois foram feitos de forma irregular conforme abaixo:   CODIGO  NOME DO CLIENTE  152        GUILHERME VIEIRA  165        EDUARDO NOGUEIRA  203        LEONARDO GONTIJO   QUERO DEIXAR DESTA FORMA:   CODIGO  NOME DO CLIENTE  001        GUILHERME VIEIRA  002        EDUARDO NOGUEIRA  003        LEONARDO GONTIJO   Mas como eu disse, são mais de 5000 cadastros, e fazer esta alteração manualmente ou seja, um por um, é inviável.   Agradeço pela atenção!
Responder

Gostei + 0

29/09/2010

Emerson Nascimento

como exemplo, teste essa consulta:

select
  c.codigo codigoatual,

  (select count(c2.codigo)+1
   from clientes c2
   where c2.codigo < c.codigo) codigonovo,

  c.nome
from
  clientes c
order by
  c.codigo

dependendo da sua versão do FB você poderá usar funções para trazer o 'codigonovo' formatado.


Responder

Gostei + 0

29/09/2010

Guelman

Não consegui, a versão do meu FB é 1.5, poderia me passar mais informações? O cadastro foi feito saltando numeros e quando mando ordenar por codigos que vejo o salto enorme entre um cliente e outro, preciso reorganizar pois irei fazer syc dos clientes com uma filial.
Responder

Gostei + 0

29/09/2010

Eliézio Mesquita

GUELMAN, você pode fazer uma migração:
Você monta um select pegando todos os dados que você precisa, mas nao inclua o codigo do cliente, dai vc mand gerar um script de insert, pelos IBExpert mesmo tem um botão de exportação, dai você limpa o sua tabela de clientes e limpa também o generator de cliente, deve deixar com valor 0, feito isso você manda rodar seu script de inserção, pq ai o generator vai reoganizar seu códigos.

Guelman, esse processo estou acreditando que você está usando as triggers e generators no seu banco, lembrando que antes desse processo você deve fazer uma cópia do seu banco.

Caso não consiga entre em contado novamente.

Abraço,

Eliézio Mesquita
Responder

Gostei + 0

29/09/2010

Emerson Nascimento

Não consegui, a versão do meu FB é 1.5, poderia me passar mais informações? O cadastro foi feito saltando numeros e quando mando ordenar por codigos que vejo o salto enorme entre um cliente e outro, preciso reorganizar pois irei fazer syc dos clientes com uma filial.


colega, o que você quer dizer com 'não consegui'? deu erro? o resultado não era o esperado? o que houve?
Responder

Gostei + 0

14/10/2010

Adilson Rumao

Usando o IBExpert você pode dar um select na tabela clientes com os campos que você quer tipo:   select nome_cli, endfat_cli, email_cli from clientes   e depois gera o script e manda executar no banco novo.    
Responder

Gostei + 0

14/10/2010

Wilson Junior

Tente assim:
CREATE GENERATOR GEN_CODIGO_CLIENTE;

SELECT
  cli.Codigo AS CodAtual,
  ( SELECT GEN_ID(GEN_CODIGO_CLIENTE, 1)
    FROM rdb$Database
  ) AS CodNovo,
  cli.Nome
FROM
  CLIENTES cli
ORDER BY
  cli.Codigo;

DROP GENERATOR GEN_CODIGO_CLIENTE;


Espero ter colaborado.
Responder

Gostei + 0

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

Aceitar