Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

acfelipesilva

Incluir Campo na SQl

Recommended Posts

Olá,

 

Solicito ajuda na elaboração da Stored Procedure abaixo, necessito criar um campo chamado INTERVALO, seria o resultado da diferença ( dtmSec_Prazo - dtmSec_DataResposta = INTERVALO )...

É que tenho que dar uma ALERTA ao usuário que caso o a resposta "estrapole" o prazo indicar qts dias passou, entenderam???

 

Grato por qq tipo de ajuda!

 

ALTER  Procedure dbo.consultaProtocolo_002@vchSec_DestProt AS VARCHAR(50)as	select	 convert(char(10),dtmSec_EntProt,112)as data_parametro	,convert(char(10),dtmSec_EntProt,103)as dtmSec_EntProt	,convert(char(10),dtmSec_DATProt,103)as dtmSec_DATProt,convert(char(10),dtmSec_Prazo,103)as dtmSec_Prazo,convert(char(10),dtmSec_DataResposta,103)as dtmSec_DataResposta,numSec_NumProt		,vchSec_DestProt= case  vchSec_DestProt when '0' then 'SECRETARIA' else vchSec_DestProt end  ,vchSec_Estagio = case vchSec_Estagio when 'FECHADOEXC' then 'Fechado pela Coordenacao'			   when 'ABERTO' then 'Aberto'			   when 'CONCLUÍDO' then 'Concluído'	else vchSec_Estagio end	from tbsecretaria	WHERE vchSec_DestProt=@vchSec_DestProtorder by dtmSec_Datuma desc

Compartilhar este post


Link para o post
Compartilhar em outros sites

acfelipesilva,O quê você precisa é alertar o usuário caso a diferença entre duas datas (dtmSec_Prazo - dtmSec_DataResposta) ultrapasse uma determinada quantidade de dias ?Esta quantidade de dias é fixa ou variável ?Você já está passando este parâmetro para a sp ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá Amigo, A parte no ASP já está tudo Ok, eu só preciso agora é criar um campo na SQl chamado intervalo, onde constará a diferença entre prazo e data de resposta, aí me amarrei foi nessa parte, no access é rapidinho que faço isso, mas no sql server ainda to apanhando pra caramba em muitas coisa, comecei a mexer com ele a 1 mês, daí preciso da ajuda da galera que já ralou e com certeza já passou por essas dificuldades, entendeu...Hoje, o que necessito é usando a SP que postei ai no fórum, incluir um campo intervalo (número inteiro) que é a diferença de dias entre prazo do processo e a respota do advogado.Agradeço toda a ajuda possível...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Verifique a documentação (no Books OnLine) da função datediff, ela pode te ajudar nisto que você está precisando.

 

Aliás, muitas dúvidas você pode resolver pelo Books OnLine !

 

Apenas como exemplo, dá pra fazer :

 

declare @dtmSec_Prazo datetime        ;  set @dtmSec_Prazo = '08/25/2007'declare @dtmSec_DataResposta datetime ;  set @dtmSec_DataResposta = '08/15/2007'select datediff(dd,@dtmSec_DataResposta, @dtmSec_Prazo) as IntervaloResult...Intervalo   ----------- 10(1 row(s) affected)

Compartilhar este post


Link para o post
Compartilhar em outros sites

Oi ,

 

Meu código ASP funciona beleza, porém minha SP que fará o que necessito não está legal...

Não acertei fazer como tu sugeriu... Fiz da maneira abaixo e tb nada, porém processou, mas não exibiu o campo... esquisito né... Bom, mas não funcionou tb...

 

 

<% if sqlC("dtmSec_Prazo") = "01/01/1900" Then %>	  <td ><font class="textosr"  value="<%=sqlC("dtmRes_Prz")%>"></font></td>			<% Else If sqlC("INTERVALO") <= 2 Then %>								  <td class="textosr"><font  value="<%=sqlC("dtmRes_Prz")%>"><%=sqlC("dtmRes_Prz")%></font></td>  			  <%else %>				  <td class="textosc"><font value="<%=sqlC("dtmRes_Prz")%>"><%=sqlC("dtmRes_Prz")%></font></td>  			  <%End if %><%End If %>	   (PARTE ASP)

 

 

Solicito a ajuda de vcs, afim de darem uma luz de como incluir nessa SP um campo chamado INTERVALO, esse campo será a diferença entre campo prazo e data da resposta, porém já tentei mexer e nada...

 

Alguém tem uma dica???

 

 

 

 

ALTER  Procedure dbo.testando@vchSec_DestProt AS VARCHAR(50)as	---- select	 convert(char(10),dtmSec_EntProt,112)as data_parametro	,convert(char(10),dtmSec_EntProt,103)as dtmSec_EntProt	,convert(char(10),dtmSec_DATProt,103)as dtmSec_DATProt,convert(char(10),dtmSec_Prazo,103)as dtmSec_Prazo,convert(char(10),dtmSec_DataResposta,103)as dtmSec_DataResposta,dtmSec_Prazo - dtmSec_DataResposta as INTERVALO,numSec_NumProt		,vchSec_DestProt= case  vchSec_DestProt when '0' then 'SECRETARIA' else vchSec_DestProt end  ,vchSec_Estagio = case vchSec_Estagio when 'FECHADOEXC' then 'Fechado pela Coordenacao'			   when 'ABERTO' then 'Aberto'			   when 'CONCLUÍDO' then 'Concluído'	else vchSec_Estagio end	from tbsecretaria	WHERE vchSec_DestProt=@vchSec_DestProtorder by dtmSec_Datuma desc

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta assim...

 

ALTER  Procedure dbo.testando@vchSec_DestProt AS VARCHAR(50)as    ---- select    convert(char(10),dtmSec_EntProt,112)as data_parametro    ,convert(char(10),dtmSec_EntProt,103)as dtmSec_EntProt    ,convert(char(10),dtmSec_DATProt,103)as dtmSec_DATProt,convert(char(10),dtmSec_Prazo,103)as dtmSec_Prazo,convert(char(10),dtmSec_DataResposta,103)as dtmSec_DataResposta,[color="#FF0000"]datediff(dd,dtmSec_DataResposta, dtmSec_Prazo) as INTERVALO[/color],numSec_NumProt        ,vchSec_DestProt= case  vchSec_DestProt when '0' then 'SECRETARIA' else vchSec_DestProt end  ,vchSec_Estagio = case vchSec_Estagio when 'FECHADOEXC' then 'Fechado pela Coordenacao'               when 'ABERTO' then 'Aberto'               when 'CONCLUÍDO' then 'Concluído'    else vchSec_Estagio end    from tbsecretaria    WHERE vchSec_DestProt=@vchSec_DestProtorder by dtmSec_Datuma desc

depois de atualizar e executar a procedure, cola o resultado aqui pra eu analisar...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeu amigo, era essa mesmo a sintaxe correta...

Aqui está a SP funcionanco bacaninha...

 

SET QUOTED_IDENTIFIER ON GOSET ANSI_NULLS ON GO--exec consultaProtocolo_002 'CACON'ALTER	 Procedure dbo.consultaProtocolo_002@vchSec_DestProt AS VARCHAR(50)as	select	 convert(char(10),dtmSec_EntProt,112)as data_parametro,	convert(char(10),dtmSec_EntProt,103)as dtmSec_EntProt,	convert(char(10),dtmSec_DATProt,103)as dtmSec_DATProt,numSec_NumProt		,vchSec_DestProt= case  vchSec_DestProt when '0' then 'SECRETARIA' else vchSec_DestProt end  ,vchSec_Estagio = case vchSec_Estagio when 'FECHADOEXC' then 'Fechado pela Coordenacao'			   				  when 'ABERTO' then 'Aberto'										  when 'CONCLUÍDO' then 'Concluído'			   else vchSec_Estagio end,convert(char(10),dtmSec_Prazo,103)as dtmSec_Prazo,convert(char(10),dtmSec_DataResposta,103)as dtmSec_DataResposta,DATEDIFF(DAY,dtmSec_Prazo,dtmSec_DataResposta ) AS DIAS_PASSADOS	 from tbsecretaria	WHERE vchSec_DestProt=@vchSec_DestProtorder by dtmSec_Datuma desc	GOSET QUOTED_IDENTIFIER OFF GOSET ANSI_NULLS ON GO

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.