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.