none
Comando Update!

    Question

  • Boa tarde Caros Colegas!!!!

    Tenho a seguinte situação:

    Na tabela VEICULOS tenho os seguinte campos com os respectivos valores:

    REGISTRO,NOMEVEICULO, VALORPIS, VALORCOFINS, DATAMOVIMENTACAO, CODIGOTRANSACAO

    1,              ,SANDERO         , 10.00        , 10.00                , 31/01/2012                  ,        90829

    2,              ,SANDERO         , 0,00         , 0,00                  , 31/01/2012                  ,        90815

    O que estou precisando fazer é criar um comando UPDATE que informe os  valores existentes dos campos VALORPIS=10,00 E VALORCOFINS=10,00 do REGISTRO =1 para o REGISTRO = 2, ficando desta forma:

    REGISTRO,NOMEVEICULO, VALORPIS, VALORCOFINS, DATAMOVIMENTACAO, CODIGOTRANSACAO

    1,              ,SANDERO         , 10.00        , 10.00                , 31/01/2012                  ,        90829

    2,              ,SANDERO         , 10.00        ,10.00                  , 31/01/2012                 ,        90815

    Tentei criar este comando de UPDATE mas não surtiu efeito:

    UPDATE VEICULOS SET VALORPIS= VALORPIS, VALORCOFINS= VALORCOFINS WHERE NOMEVEICULO = 'SANDERO' and DATAMOVIMENTACAO= '30/04/2012' and CODIGOTRANSACAO = 90829

    Fico no aguardo de uma ajuda de vocês.

    Abraços

    Marcelo

    Tuesday, February 14, 2012 6:32 PM

Answers

  • Marcelo,

    Sua adaptação está errada, tirando minhas conclusões com base na instrução que você postou ficaria assim:

    UPDATE B
    SET VLRBCR = A.VLRBCR, VLRBPR = A.VLRBPR
    FROM   E670MOV A
    JOIN    E670MOV    B
    ON       A.CODBEM = B.CODBEM
    AND     A.DATMOV  = B.DATMOV
    WHERE A.CODTNS = 9082

    Explique qual é a condição para a alteração.



    Rafael Godoi Sabadin
    http://www.linkedin.com/in/rafaelgodoisabadin


    Classifique as respostas. O seu feedback é essencial.

    • Marked as answer by Marcelo_Ibanez Thursday, February 23, 2012 12:56 PM
    Tuesday, February 14, 2012 7:44 PM

All replies

  • Marcelo, boa tarde,

    Não conheço a regra de negócio para realizar esta alteração, mas segue um exemplo, espero que ajude.

    CREATE TABLE #VEICULOS(
    REGISTRO            INT,
    NOMEVEICULO            VARCHAR(50),
    VALORPIS            NUMERIC(10,2),
    VALORCOFINS            NUMERIC(10,2),
    DATAMOVIMENTACAO    DATETIME,
    CODIGOTRANSACAO        INT)

    INSERT INTO #VEICULOS VALUES (1,'SANDERO',10.00 ,10.00,'20120131',90829)
    INSERT INTO #VEICULOS VALUES (2,'SANDERO',0.00 ,0.00,'20120131',90815)

    UPDATE    B
    SET        VALORPIS    = A.VALORPIS,
            VALORCOFINS = A.VALORCOFINS
    FROM    #VEICULOS    A
    JOIN    #VEICULOS    B
    ON        A.NOMEVEICULO        =    B.NOMEVEICULO
    AND        A.DATAMOVIMENTACAO    =    B.DATAMOVIMENTACAO
    WHERE    A.CODIGOTRANSACAO = 90829

    SELECT * FROM #VEICULOS


    Rafael Godoi Sabadin
    http://www.linkedin.com/in/rafaelgodoisabadin


    Classifique as respostas. O seu feedback é essencial.

    Tuesday, February 14, 2012 7:02 PM
  • Guilherme o meu comando UPDATE ficou assim:

    UPDATE B SET VLRBCR= A.VLRBCR, VLRBPR= A.VLRBPR FROM E670MOV.A JOIN B.E670MOV ON A.CODBEM = B.CODBEM AND A.DATMOV = B.DATMOV WHERE A.CODTNS= 9082

    Ao executa-lo não funcionou.

    Abraços

    Marcelo


    Tuesday, February 14, 2012 7:24 PM
  • Marcelo,

    Sua adaptação está errada, tirando minhas conclusões com base na instrução que você postou ficaria assim:

    UPDATE B
    SET VLRBCR = A.VLRBCR, VLRBPR = A.VLRBPR
    FROM   E670MOV A
    JOIN    E670MOV    B
    ON       A.CODBEM = B.CODBEM
    AND     A.DATMOV  = B.DATMOV
    WHERE A.CODTNS = 9082

    Explique qual é a condição para a alteração.



    Rafael Godoi Sabadin
    http://www.linkedin.com/in/rafaelgodoisabadin


    Classifique as respostas. O seu feedback é essencial.

    • Marked as answer by Marcelo_Ibanez Thursday, February 23, 2012 12:56 PM
    Tuesday, February 14, 2012 7:44 PM
  • Marcelo,

    Você conseguiu realizar alguma análise e identificar melhor a sua necessidade?


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | SorBR.Net | Professor Universitário | MSIT.com]

    Friday, February 17, 2012 11:12 AM
    Moderator