Bruno Perroni
DBA SQL Server com mais de 6 anos de experiência!

Procedures Temporárias

Fala Pessoal, tudo certo?

Hoje vou mostrar uma dica bem legal e que pouca gente conhece e ou utiliza, que são procedures Temporárias, isso mesmo temporárias.

Da mesma forma que criamos tabelas temporárias locais e globais podemos criar procedures também.

Apenas relembrando um objeto temporário dura somente no contexto em que foi criado e também só está acessível nesse mesmo contexto (conexão), já objetos temporários globais podem ser acessados por outras conexões, conforme veremos abaixo, e também o objeto dura enquanto a sessão estiver ativa e só deixa de existir a partir do momento em que não houver mais utilização do mesmo, por utilização, podemos entender transações que estiverem ativas referenciando o objeto.

Abaixo segue a sintaxe para a criação da procedure temporária com somente uma #

CREATE PROCEDURE #TempProc
AS
BEGIN
	SELECT GETDATE()
END

Podemos verificar que a execução da procedure ocorreu sem problemas na sessão (373) aonde ela foi criada, porém ao chamarmos a mesmo procedure de outra sessão (214), não funciona, mesmo princípio das tabelas temporárias.

Agora vamos fazer o mesmo teste com uma procedure temporária global, cuja sintaxe possui duas ##

CREATE PROCEDURE ##TempGlobalProc
AS
BEGIN
	SELECT GETDATE()
END

É isso ai pessoal, espero que tenham gostado e até a próxima.