Pegar valor de uma variável no Sql Server
10/03/2015
0
Tenho essa query. Como eu faço para pegar o valor da val @QueryString no momento da execução? Tentei com Print como podem ver e não vem nada na saída.
SET NOCOUNT ON; Declare @QueryString as NVarchar(4000), @Datazero as varchar(20), @Datamn as varchar(20), @CdUsuario as integer, @SitProcesso as int ,@DsUsuarioRede varchar(20) ,@Processo as int ,@Grupo as int ,@Cota as smallint ,@DtCriacao as varchar(20) SET @CdUsuario = (SELECT CdUsuario FROM Seguranca.TBUsuario WHERE DsUsuarioRede = @DsUsuarioRede) SET @Processo = 46 -- Lista os processos baseado em filtros Set @QueryString = N' SELECT CP.CdProcesso, CP.DtCriacao, (select TA.DtInicio from Processo.TBAnalise TA where TA.CdProcesso = CP.CdProcesso and TA.CdAnalise = (select max(TBA.CdAnalise) from Processo.TBAnalise TBA where TBA.CdProcesso = TA.CdProcesso)) DtInicio, (select TA.DtFim from Processo.TBAnalise TA where TA.CdProcesso = CP.CdProcesso and TA.CdAnalise = (select max(TBA.CdAnalise) from Processo.TBAnalise TBA where TBA.CdProcesso = TA.CdProcesso)) DtFim, CP.CdGrupo, CP.CdCota, ISNULL(AWF.NmWorkFlowItem, ''Processo Iniciado - PV'') NmWorkFlowItem, AWF.CdWorkFlowItem, DTS.NmTipoStatus, WFR.CdUsuario, CASE WHEN (select max(TBA.CdAnalise) from Processo.TBAnalise TBA where TBA.CdProcesso = CP.CdProcesso) IS NULL AND AWF.CdTipoUsuario != 3 THEN ''AGUARDANDO ANÁLISE'' ELSE (CASE WHEN (select max(TBA.CdAnalise) from Processo.TBAnalise TBA where TBA.CdProcesso = CP.CdProcesso) IS NULL AND AWF.CdTipoUsuario = 3 THEN ''PONTO DE VENDA'' ELSE ISNULL((select TBU.NmUsuario from Processo.TBAnalise TA, Seguranca.TBUsuario TBU where TA.CdProcesso = CP.CdProcesso and TA.CdAnalise = (select max(TBA.CdAnalise) from Processo.TBAnalise TBA where TBA.CdProcesso = TA.CdProcesso) and TA.CdUsuario = TBU.CdUsuario), TBUP.NmUsuario)END)END NomeUsuario, AWF.CdTipoUsuario, (select max(TBA.CdAnalise) from Processo.TBAnalise TBA where TBA.CdProcesso = CP.CdProcesso) CdAnalise, (select TA.CdUsuario from Processo.TBAnalise TA where TA.CdProcesso = CP.CdProcesso and TA.CdAnalise = (select max(TBA.CdAnalise) from Processo.TBAnalise TBA where TBA.CdProcesso = TA.CdProcesso)) CdUsuarioAn, CASE WHEN isnull((select TA.IcPriorizado from Processo.TBAnalise TA where TA.CdProcesso = CP.CdProcesso and TA.CdAnalise = (select max(TBA.CdAnalise) from Processo.TBAnalise TBA where TBA.CdProcesso = TA.CdProcesso)),0) = 0 THEN null ELSE ''checked'' END IcPriorizado FROM Processo.TBProcesso AS CP INNER JOIN Dominios.TBTipoProcesso AS TP ON CP.CdTipoProcesso = TP.CdTipoProcesso INNER JOIN Processo.TBWorkFlowRealizacao AS WFR ON CP.CdProcesso = WFR.CdProcesso LEFT JOIN Seguranca.TBUsuario TBUP ON WFR.CdUsuario = TBUP.CdUsuario INNER JOIN Dominios.TBTipoStatus AS DTS ON CP.CdTipoStatus = DTS.CdTipoStatus LEFT OUTER JOIN Processo.TBWorkFlowAtividade AS AWF ON WFR.CdWorkFlowItem = AWF.CdWorkFlowItem WHERE WFR.DtCriacao = ( SELECT MAX(DtCriacao) FROM Processo.TBWorkFlowRealizacao WHERE CdProcesso = CP.CdProcesso ) AND Exists((select 1 from ScoCons..Cota as cota, Seguranca.TBGrupoUsuario as gpusu where CP.CdGrupo = cota.Grupo and CP.CdCotaMPS = cota.Cod and gpusu.CdGrupo = cota.Conces and gpusu.CdUsuario = ' + Cast(@CdUsuario as varchar) + ')) ' IF @Processo IS NOT NULL BEGIN SET @QueryString = @QueryString + ' AND CP.CdProcesso = ' + Cast(@Processo as varchar) END IF @Grupo IS NOT NULL BEGIN SET @QueryString = @QueryString + ' AND CP.CdGrupo = ' + Cast(@Grupo as varchar) END IF @Cota IS NOT NULL BEGIN SET @QueryString = @QueryString + ' AND CP.CdCota = ' + Cast(@Cota as varchar) END IF @SitProcesso IS NOT NULL BEGIN SET @QueryString = @QueryString + ' AND CP.CdTipoStatus = ' + Cast(@SitProcesso as varchar) END -- IF @CdUsuario IS NOT NULL -- BEGIN -- SET @QueryString = @QueryString + ' AND WFR.CdUsuario = ' + Cast(@CdUsuario as varchar) -- END IF @DtCriacao IS NOT NULL BEGIN set @Datazero = LEFT(@DtCriacao, 4) + '/' + SUBSTRING(@DtCriacao, 6, 2) + '/' + SUBSTRING(@DtCriacao, 9, 2) + ' 00:00:00' set @Datamn = LEFT(@DtCriacao, 4) + '/' + SUBSTRING(@DtCriacao, 6, 2) + '/' + SUBSTRING(@DtCriacao, 9, 2) + ' 23:59:59' SET @QueryString = @QueryString + ' AND CP.DtCriacao >= ''' + @Datazero + ''' AND CP.DtCriacao <= ''' + @Datamn + '''' END SET @QueryString = @QueryString + ' ORDER BY CP.CdProcesso' --EXEC sp_executesql @QueryString print @QueryString
Pjava
Curtir tópico
+ 0
Responder
Post mais votado
10/03/2015
SELECT @QueryString
basta fazer isso que irá mostrar o valor!
Thiago Santana
Responder
Clique aqui para fazer login e interagir na Comunidade :)