none
Consulta ao Banco e retorno de uam variável atualizada RRS feed

  • Pergunta

  • Boa noite pessoal.

    Estou com um problema que não estou conseguindo resolver. Estou desenvolvendo um programa que gera conhecimentos de transportes. Na tabela de conhecimentos pode ter conhecimentos de várias filiais, ou seja, SPA, SAL, RJS, etc. Cada filial tem sua numeração específica. ou seja, tem o conhecimento de número 1 em todas elas. Se eu tiver 10 filiais sera 10 conhecimentos número 1. No momento de gerar o conhecimento, estou digitando a filial a qual ele pertence. Gostaria que o sistema fosse ao banco, encontrasse o último conhecimento gerado da filial especificada acrescentasse mais 1. Como posso fazer essa rotina?

    Garibaldo.

    • Movido DiegoBlanco terça-feira, 9 de abril de 2013 15:05
    sábado, 6 de abril de 2013 23:31

Todas as Respostas

  • Se você tiver pelo menos uma data pra identificar qual foi o último valor inserido, você pode usá-la para fazer a busca. Simulei seu ambiente assim:

    CREATE TABLE #Conhecimento
    (nome_filial CHAR(3),
    conhecimento INT,
    data_gerado DATETIME);
    GO
    INSERT INTO #Conhecimento VALUES ('SPA',1,'2012-04-10');
    INSERT INTO #Conhecimento VALUES ('SPA',1,'2012-04-11');
    INSERT INTO #Conhecimento VALUES ('SAL',1,'2012-04-11');
    INSERT INTO #Conhecimento VALUES ('RJS',1,'2012-04-11');


    DECLARE @nome_filial CHAR(3) = 'SPA'

    UPDATE #Conhecimento SET conhecimento = conhecimento + 1
    WHERE CAST(data_gerado AS VARCHAR(10))+nome_filial IN
    (SELECT TOP 1 CAST(data_gerado AS VARCHAR(10))+nome_filial FROM #Conhecimento WHERE nome_filial = @nome_filial
    ORDER BY data_gerado DESC)


    SELECT*FROM #Conhecimento


    quinta-feira, 11 de abril de 2013 21:04