none
Erro CTE RRS feed

  • Pergunta

  • Olá pessoal,

    Tenho uma CTE denominada BOOK e gostaria de fazer várias selects com base nela, mas a partir da segunda select dá a seguinte mensagem de erro: "Mensagem 208, Nível 16, Estado 1, Linha 23 - Invalid object name 'BOOK'.".

    Alguém poderia me ajudar a fazer mais de uma select com base em uma mesma CTE?

    Muito obrigado.

    Cristiano

    quarta-feira, 4 de dezembro de 2013 11:54

Respostas

  • Cristiano, a CTE é uma estrutura volátil que só existe durante a execução da CTE. O que você pode fazer é popular uma tabela temporária. Veja o exemplo

    With cte ...

    Select campos into #tabelatmp from cte

    Select campos from #tabelatmp

    drop table #tabelatmp


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008


    quarta-feira, 4 de dezembro de 2013 12:16
    Moderador

Todas as Respostas

  • Cristiano, a CTE é uma estrutura volátil que só existe durante a execução da CTE. O que você pode fazer é popular uma tabela temporária. Veja o exemplo

    With cte ...

    Select campos into #tabelatmp from cte

    Select campos from #tabelatmp

    drop table #tabelatmp


    Roberto Fonseca MCT / MCITP - Database Administrator 2008 MCITP - Database Developer 2008 MCITP - Business Intelligence 2008


    quarta-feira, 4 de dezembro de 2013 12:16
    Moderador
  • Roberto Fonseca, muito obrigado, funcionou perfeitamente!
    quarta-feira, 4 de dezembro de 2013 12:29