none
Erro no processamento do update RRS feed

  • Pergunta

  • Boa tarde amigos,

    Estou com um problema que aparentemente é simples, mas não estou conseguindo identificar, criei um update mas quando vou executar ele dá uma mensagem dizendo que contem erro no inner join.

    UPDATE SE1010 INNER JOIN SA1010 
    ON SE1010.E1_CLIENTE = SA1010.A1_COD   
    AND SE1010.E1_LOJA=SA1010.A1_LOJA
    SET SE1010.E1_NOMCLI = SA1010.A1_NREDUZ
    WHERE 
    SE1010.E1_NOMCLI='O MESMO'

    A mensagem é:

    Incorrect syntax near the keyword 'INNER'. Severity 15

    Alguem pode ajudar?

    • Tipo Alterado Gustavo Maia Aguiar terça-feira, 7 de fevereiro de 2012 17:15 É uma pergunta e não uma discussão
    terça-feira, 7 de fevereiro de 2012 17:04

Respostas

Todas as Respostas

  • Boa Tarde,

    Essa é uma sintaxe válida no Access, mas não no SQL Server. Tente o seguinte:

    UPDATE SE1010
     SET SE1010.E1_NOMCLI = SA1010.A1_NREDUZ
    FROM SE1010
    INNER JOIN SA1010
     ON SE1010.E1_CLIENTE = SA1010.A1_COD  
     AND SE1010.E1_LOJA=SA1010.A1_LOJA
     WHERE
     SE1010.E1_NOMCLI='O MESMO'

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos:http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível

    terça-feira, 7 de fevereiro de 2012 17:16
  • Obrigado Gustavo por responder.

    Executei o código proposto, mas não funcionou, apareceu a mensagem:

    Msg 8152, Level 16, State 14, Line 1
    String or binary data would be truncated.
    The statement has been terminated.

    terça-feira, 7 de fevereiro de 2012 17:28
  • Boa Tarde,

    Na primeira situação, havia um erro de sintaxe, mas esse agora é diferente.
    Possivelmente você está querendo atualizar a coluna E1_NOMCLI com valores maiores do que ela comporta.

    Isso deve acontecer porque os tamanhos das colunas E1_NOMCLI e A1_NREDUZ tem tamanhos diferentes com A1_NREDUZ com tamanho maior. Algum registro da segunda não cabe na primeira e aí dá esse erro. A sintaxe está correta. Você precisa agora identificar quem é o registro que está com o tamanho estourado.

    [ ]s,

    Gustavo Maia Aguiar
    Blog: http://gustavomaiaaguiar.wordpress.com
    Vídeos:http://www.youtube.com/user/gmasql


    Classifique as respostas. O seu feedback é imprescindível

    terça-feira, 7 de fevereiro de 2012 17:37
  • Ok Gustavo,

    Obrigado.

    terça-feira, 7 de fevereiro de 2012 17:53