Desculpe Alessandro, mas cometi um erro no código de teste da procedure. O 
correto é:

declare @tableName varchar(40)
exec getNameTabTemp @tableName output
print @tableName
  ----- Original Message ----- 
  From: Ricardo Gomes 
  To: [email protected] 
  Sent: Tuesday, November 06, 2007 2:31 PM
  Subject: Re: [sqlwin] SQLServer + Tabela Temporia + Centura


  Alessandro, sugiro que você use um nome diferente de tabela temporária para 
cada chamada da sua procedure. Para fazer um nome diferente em cada chamada 
você pode utilizar o CURRENT_TIMESTAMP, da seguinte forma:

  create procedure getNameTabTemp @tableName varchar(40) output as
  begin
    SET @tableName = (SELECT 
'temp'+replace(replace(replace(replace(convert(varchar,CURRENT_TIMESTAMP, 121), 
'-',''), ':', ''),'.',''), ' ', ''))
  end

  No código acima o nome da tabela temporária será composto por data, hora, 
minutos, segundos e milissegundos, o que garante, na prática, a unicidade do 
nome da tabela. O código abaixo fiz só pra testar a procedure acima:

  declare @tableName varchar(40)
  exec tabtemp @tableName output
  print @tableName

  Qualquer dúvida, pergunte.

  Ricardo Gomes.

  ----- Original Message ----- 
    From: Alessandro Bin 
    To: [email protected] 
    Sent: Tuesday, November 06, 2007 7:53 AM
    Subject: RE: [sqlwin] SQLServer + Tabela Temporia + Centura


    o Problema que verifiquei desta tabela ser global temporária é que se outro 
usuario tirar o mesmo relatório ao mesmo tempo, a tabela irá acumular os 
resultados dos 2 usuários... não resolve o problema...







    Alessandro Bin


    Desenvolvedor


    "Sempre que te perguntarem se podes fazer um trabalho, responde que sim e 
te ponhas em seguida a aprender como se faz."
     Roosevelt



    "Onde vês uma adversidade, vejo uma oportunidade."
    Desconhecido
              
              




--------------------------------------------------------------------------
      From: [EMAIL PROTECTED]
      To: [email protected]
      Subject: RE: [sqlwin] SQLServer + Tabela Temporia + Centura
      Date: Mon, 5 Nov 2007 16:58:03 +0000


      Ricardo,
      Entendi o problema. Vou fazer um teste trocando para global então.
      Grato pela ajuda,






      Alessandro Bin


      Desenvolvedor


      "Sempre que te perguntarem se podes fazer um trabalho, responde que sim e 
te ponhas em seguida a aprender como se faz."
       Roosevelt



      "Onde vês uma adversidade, vejo uma oportunidade."
      Desconhecido
                
                




------------------------------------------------------------------------
        From: [EMAIL PROTECTED]
        To: [email protected]
        Subject: Re: [sqlwin] SQLServer + Tabela Temporia + Centura
        Date: Mon, 5 Nov 2007 14:08:25 -0300


        Alessandro, a execução da procedure é feita com um handle interno, e 
não com handle que chama a procedure. Nesse caso, para funcionar, vc precisará 
criar a tabela temporária precedida com dois símbolos de sustenido, por 
exemplo, ##temporaria. Tabelas criadas com dois sustenidos são visíveis a 
qualquer conexão.

        Ricardo.
          ----- Original Message ----- 
          From: Alessandro Bin 
          To: [email protected] 
          Sent: Monday, November 05, 2007 12:25 PM
          Subject: [sqlwin] SQLServer + Tabela Temporia + Centura


          Centuriões,
          boa tarde.

          Estou com um problema que creio que alguém da lista já tenha passado: 
tabela temporária 

          Eu executo uma procedure, que cria uma tabela temporária 
(#temporaria). Quando tento chamar o select dentro do Centura para me trazer a 
informação armazenada na temporária, como eu fazia com o Oracle, o Sqlserver 
retorna o seguinte erro:
          Server: Msg 208, Level 16, State 1, Line 1
          Invalid object name '#temporario'.

          o detalhe é que eu estou usando o mesmo handle da chamada da 
procedure, ou seja, a mesma conexão responsável pela sua criação.

          Alguém já passou por isto?








          Alessandro Bin


          Desenvolvedor


          "Sempre que te perguntarem se podes fazer um trabalho, responde que 
sim e te ponhas em seguida a aprender como se faz."
           Roosevelt



          "Onde vês uma adversidade, vejo uma oportunidade."
          Desconhecido
                    
                    




----------------------------------------------------------------------
          Veja mapas e encontre as melhores rotas para fugir do trânsito com o 
Live Search Maps! Experimente já! 


--------------------------------------------------------------------------
      Receba GRÁTIS as mensagens do Messenger no seu celular quando você 
estiver offline. Conheça o MSN Mobile! Cadastre-se já! 


----------------------------------------------------------------------------
    Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver 
offline. Conheça o MSN Mobile! Cadastre-se já! 

Responder a