Usuário com melhor resposta
pegar ultimo ID + 1 no insert

Pergunta
-
preciso ajustar esse select pra trazer o ultimo ID somando + 1 ou seja, precisa incluir os itens da tabela "LAB_EXAMES" com ID sem duplicidade
SELECT (select max(smitem_id) +1 from smitem),SubGrupo,[Descrição SMITEM],SUBSTRING([Prazo de Entrega],1,2)'1',[Código_DB] FROM EXAMES_LAB
Meu resultado precisa ser:
15 | 1010 | TESTE1 | 2019-01-01| Z12
16 | 1010 | TESTE2 | 2019-01-01| Zdd2
17 | 1010 | TESTE3 | 2019-01-01| Z15
Mas está saindo
15 | 1010 | TESTE1 | 2019-01-01| Z12
15 | 1010 | TESTE2 | 2019-01-01| Zdd2
15 | 1010 | TESTE3 | 2019-01-01| Z15
Droberti
- Editado Drobertii quinta-feira, 28 de novembro de 2019 20:30
Respostas
-
Boa tarde,
Experimente fazer um teste dessa forma:
with CTE_Max as ( select max(smitem_id) as smitem_id_max from smitem ) SELECT row_number() over(order by (select null)) + c.smitem_id_max, e.SubGrupo, e.[Descrição SMITEM], SUBSTRING(e.[Prazo de Entrega], 1, 2), e.[Código_DB] FROM EXAMES_LAB as e cross join CTE_Max as c
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Junior Galvão - MVPMVP quinta-feira, 28 de novembro de 2019 21:20
- Marcado como Resposta Drobertii quinta-feira, 28 de novembro de 2019 22:05
Todas as Respostas
-
Boa tarde,
Experimente fazer um teste dessa forma:
with CTE_Max as ( select max(smitem_id) as smitem_id_max from smitem ) SELECT row_number() over(order by (select null)) + c.smitem_id_max, e.SubGrupo, e.[Descrição SMITEM], SUBSTRING(e.[Prazo de Entrega], 1, 2), e.[Código_DB] FROM EXAMES_LAB as e cross join CTE_Max as c
Espero que ajude
Assinatura: http://www.imoveisemexposicao.com.br
- Sugerido como Resposta Junior Galvão - MVPMVP quinta-feira, 28 de novembro de 2019 21:20
- Marcado como Resposta Drobertii quinta-feira, 28 de novembro de 2019 22:05
-
EspertoMetal,
Além das observações e sugestões apresentadas anteriormente, uma outra alternativa que boa partes dos ERPs para pequenas e médias empresas utiliza é justamente ter uma tabela que controle da numeração, em que a cada manipulação de dados, vai sendo atualizada de acordo com a numeração gerada.
A muito tempo realizei uma consultoria em uma empresa que tinha justamente esta necessidade, voltada para um sistema do governo chamado Ficha Modelo 3, para este caso implementamos justamente o controle desta forma, o qual atendeu muito bem, inclusive independente da quantidade de usuários e processos sendo trabalhado, antes da confirmação do ID, realizávamos uma validação na tabela de controle para obter o número a ser utilizado e posteriormente incrementado.
Pedro Antonio Galvão Junior [MVP | MCC | MSTC | MIE | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados Relacional e Data Warehouse | Professor Universitário | @JuniorGalvaoMVP | http://pedrogalvaojunior.wordpress.com]
-