procedure para retornar um intervalo de tempo

29/09/2003

Bom Dia,
Estou criando um uma procedure para me retornar um intervalo de tempo (tempo final - tempo inicial). Sou bastante leigo em Sql Server e não sei qual a sintaxe correta, pois ele não aceita subtrair @ini do @fim(abaixo o código). Outro detalhe eu posso usar return em uma procedure?

Grato pela Atenção
Anderson


CREATE PROCEDURE BUSCA10
AS
DECLARE @INI GETDATE
SELECT COUNT(*)
FROM CATEGORIAS
GO
DECLARE @FIM GETDATE
GO
DECLARE @TEMPO NUMERIC
SET @TEMPO = @FIM - @INI :?:
GO


Cappelletia

Respostas

12/10/2003

Anderson_dpa

A solução ideal para vc é criar uma função (function), vc pode manter a mesma estrutura para definir um valor de retorno vc deve criar uma variável com o parâmetro OUTPUT logo após a sua criação



Anderson
dpasistemas@bol.com.br


Responder Citar

17/03/2008

Nigro

Olá fiz isso e não funcionou teria um exemplo prático?


Responder Citar

20/03/2008

Edu2099

Veja se isso te ajuda:

CREATE PROCEDURE BUSCA10

AS
DECLARE 
@INI DATETIME,
@FIM DATETIME,
@TEMPO INT

SELECT @INI = GETDATE()

SELECT 
COUNT(*)
FROM 
CATEGORIAS

SELECT @FIM = GETDATE()

SELECT @TEMPO = DATEDIFF(MS, @INI, @FIM) -- DIFERENÇA EM MILISSEGUNDOS

RETURN @TEMPO
GO

---- CÓDIGO PARA TESTAR:

DECLARE @TESTE INT

EXEC @TESTE = BUSCA10

SELECT @TESTE  -- ESTE É O TEMPO DECORRIDO



Responder Citar