none
Script de Stored Procedure criada no SQL 2008 não é executada no 2000 RRS feed

  • Pergunta

  • Bom dia,

    Criei um Stored Procedure no SQL 2008 e quando vou executar o script no SQL 2000 dá um erro estranho. Mas o mais estranho é que eu comento um determinado (/* FETCH NEXT FROM {...} IF BEGIN {...} END */) trecho e executo e o script é executado corretamente. Em seguida, descomento o trecho e executo novamente, aí funciona corretamente. 

    Quando o script é executado com sucesso, após a minha gambiarra, a Stored Procedure é executada corretamente. Por iss, acredito que se fosse algum problema com o trecho comentado, não era pra executar nunca.

    Será que isso é algum bug do query analiser ou incompatilibilidade entre o SQL 2008 e o 2000?

     

    Se precisar, posso postar o código, apesar de ter 326 linhas.

     

    Valeu!!!


    quarta-feira, 13 de abril de 2011 12:06

Respostas

  • Descobri que tenho um comentário logo após um END:

    END -- END IF

    Se eu remover ou mesmo comentá-lo (/* -- END IF*/), o script é executado com sucesso. 

    Só não imagino por que diabos isso acontece.

    • Sugerido como Resposta Eder Costa terça-feira, 19 de abril de 2011 14:42
    • Marcado como Resposta Heloisa Pires sexta-feira, 20 de abril de 2012 18:38
    quarta-feira, 13 de abril de 2011 20:15

Todas as Respostas

  • Bom dia,

    Qual o erro que esta aparecendo para você?

     

     

    Clayton Dias

    quarta-feira, 13 de abril de 2011 12:32
  • Sintax Error Near #TMP.

    Mas não tem nada que justifique o erro, tanto é que quando eu faço a gambiarra mencioanda, funciona.

     

    Obrigado, Clayton.

    quarta-feira, 13 de abril de 2011 12:41
  • Charles,

     

    Realmente estranho, essa sua proc possui algum linked server por exemplo ou é tudo feito na mesma intancia?


    ------------------------------------------------------------- Oracle OCA11g
    quarta-feira, 13 de abril de 2011 13:41
    Moderador
  • Tudo em uma simples e comum instância.

     

    Valeu!

    quarta-feira, 13 de abril de 2011 13:46
  • Boa Tarde,

    Eventualmente o Query Analyser força um PARSER próprio que pode incorrer em problemas. Não que seja o seu cenário, mas já conectei no SQL Server 2005 e 2008 com o Query Analyser e repassei um comando que só tinha no 2005. Embora o QA estive plugado no 2005 e o comando fosse válido, o QA não deixou eu compilá-lo.

    Sugiro testar outras ferramentas só pra ter certeza que seu comando passa. Tente o OSQL por exemplo

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com 


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 13 de abril de 2011 14:52
  • Descobri agora que problema não é só no Query Analyser. Tenho de atualizar as SPs nos clientes, e isso é feito através da ferramente ISQLW. E o erro só ocorre no SQL Server 2000.
    quarta-feira, 13 de abril de 2011 19:05
  • Descobri que tenho um comentário logo após um END:

    END -- END IF

    Se eu remover ou mesmo comentá-lo (/* -- END IF*/), o script é executado com sucesso. 

    Só não imagino por que diabos isso acontece.

    • Sugerido como Resposta Eder Costa terça-feira, 19 de abril de 2011 14:42
    • Marcado como Resposta Heloisa Pires sexta-feira, 20 de abril de 2012 18:38
    quarta-feira, 13 de abril de 2011 20:15