GiseleCN 0 Denunciar post Postado Agosto 8, 2009 Pessoal, bom dia!! Estou com um problema e queria ver se podem me ajudar!! Criei um PROC que recebe um parametro text, joga em uma table pra que eu use esse valor dentro do IN, pois o mesmo não aceita o tipo text. Até ai, tudo bem!! Se eu executo a proc no SQL Server ele retorna a tabela com o resultado!! Minha PROC CREATE PROCEDURE [dbo].[AvaliacaoDesempenhoProcuraAvaliacao] ( @PalavraChave varchar(100), @IDAreas text ) AS BEGIN DECLARE @INNER_Area varchar(100) DECLARE @Nome_Area varchar(100) IF datalength(@IDAreas) > 0 CREATE TABLE #Table (id varchar(100) COLLATE SQL_Latin1_General_CP1_CI_AS) BEGIN WHILE charindex(',',@IDAreas) > 0 BEGIN INSERT INTO #Table VALUES (substring(@IDAreas,0,charindex(',',@IDAreas))) SET @IDAreas = substring(@IDAreas,charindex(',',@IDAreas)+1,datalength(@IDAreas)) END INSERT INTO #Table VALUES (@IDAreas) set @INNER_Area = 'INNER JOIN PESSOAL AS PE2 ON(PE2.ID = U.IDUsuario)' set @Nome_Area = 'WHERE PE2.AREA IN(SELECT id FROM #Table)' END exec ('SELECT DISTINCT AD.IDAvaliacao, U.NOUsuario, convert(char,DTInicio,105) AS DTInicio, AD.IDAvaliado, AD.IDAvaliador, CASE WHEN NOT EXISTS(SELECT TOP 1 convert(varchar,IDFase+1) AS IDFase FROM TBAvaliacaoCompetenciaIndicadorUsuario WHERE IDAvaliacaoIndicador IN( SELECT IDAvaliacaoIndicador FROM TBAvaliacaoCompetenciaIndicador WHERE IDAvaliacao = AD.IDAvaliacao) ORDER BY IDFase DESC) THEN ''0'' ELSE CASE WHEN (SELECT TOP 1 convert(varchar,IDFase+1) FROM TBAvaliacaoCompetenciaIndicadorUsuario WHERE IDAvaliacaoIndicador IN( SELECT IDAvaliacaoIndicador FROM TBAvaliacaoCompetenciaIndicador WHERE IDAvaliacao = AD.IDAvaliacao) ORDER BY IDFase DESC) = 4 THEN ''1'' ELSE ''0'' END END AS STAvaliacao FROM TBAvaliacaoDesenvolvimento AS AD INNER JOIN TBUsuarioAvaliacao AS UA ON(UA.ID = AD.IDAvaliado) INNER JOIN TBUsuario AS U ON(UA.CPF = U.CPF AND UA.DSLogin = U.DSLogin) '+ @INNER_Area +' '+@Nome_Area) O problema está quando na DAL eu chamo a proc. Ele fala :"Invalid object name '#Table'.", ou seja... ta retornando a table que estou criando, e não o meu select. Gente, postei nessa área devido o problema estar sendo no meu projeto que é em C#, espero não ter postado na área errada.rs Alguém tem uma idéia pra resolver isso? Desde já eu agradeço!! Compartilhar este post Link para o post Compartilhar em outros sites
GiseleCN 0 Denunciar post Postado Agosto 8, 2009 Pessoal, consegui! Na vdd, eu precisava dropar a tabela depois de executar meu select e colocar a declaração da tabela pra fora da condição IF. Compartilhar este post Link para o post Compartilhar em outros sites