procedure para retornar um intervalo de tempo
29/09/2003
0
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
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
Curtir tópico
+ 0
Responder
Posts
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
Anderson
dpasistemas@bol.com.br
Responder
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
Clique aqui para fazer login e interagir na Comunidade :)