Ir para conteúdo
Fórum Script Brasil
  • 0

Update com Generator


Duduh_Capixaba

Pergunta

Olá povo!

Busquei na internet e não encontrei uma forma de fazer o que preciso. É o seguinte:

Tenho uma tabela de movimentação de produtos, onde gravo seu código e seu número

sequencial na ordem em que ele é inserido, mais ou menos assim:

ITEMSEQ | CODPROD

1 | 32

2 | 401

3 | 5

4 | 16

Acontece que se o usuário deletar um desses itens inserido na tabela a ordem pode

ser comprometida com a falta de um número sequencial, assim:

ITEMSEQ | CODPROD

1 | 32

2 | 401

4 | 16

Haveria um modo de eu dar um UPDATE nessa tabela para refazer a ordem dos

números? No meu exemplo acima, o último item (4) ficaria sendo 3. Minha ideia

era usar um GENERATOR junto com o UPDATE, mas acontece que eu receberia

mais de um registro por vez e não daria certo. Alguém tem alguma outra ideia?

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0

Opa, voltando com a solução!

Sim, é possível fazer um UPDATE com um GENERATOR sequenciando

um campo. Vejamos como:

No meu caso, minha tabela se chama ESMVSAI1, e suas chaves primárias

são FILIAL, ORDEM e ITEM. Pegando o exemplo que eu dei acima:

FILIAL | ORDEM | ITEM

1 | 10 | 1

1 | 10 | 2

1 | 10 | 4

E aplicando essa SQL:

UPDATE ESMVSAI1 T1 SET
T1.ITEM = (
  SELECT FIRST(1) GEN_ID(NOME_DO_GENERATOR, 1) FROM ESMVSAI1 T2
  WHERE T2.FILIAL = T1.FILIAL AND T2.ORDEM = T1.ORDEM AND T2.FILIAL = 1 AND T2.ORDEM = 10
)
WHERE T1.FILIAL = 1 AND T1.ORDEM = 10
Temos como resultado: FILIAL | ORDEM | ITEM 1 | 10 | 1 1 | 10 | 2 1 | 10 | 3 Lembrando de zerar seu GENERATOR sempre antes de aplicar essa SQL. Para zerar:
SET GENERATOR NOME_DO_GENERATOR TO 0

Espero que ajude mais alguém.

Vlw vlw!

Eduardo Pagoto

Editado por Duduh_Capixaba
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,2k
    • Posts
      651,9k
×
×
  • Criar Novo...