"Bloco anônimo" é um termo da Oracle. Mas falando da coisa para sql server
Declare
....
Begin
begin trans
. . .
commit
End
Se eu enviar esse SQL de forma parametrizada para o servidor via ADO.NET, ele será armazenado em cache e reutilizado ou será recompilado todas as vezes?