O escopo da variável é o lote inteiro, neste caso, um procedimento armazenado. Não é declarado novamente a cada loop Então isso é exatamente como esperado Editar: Há um recente artigo de blog que é bem parecido. O autor foi rapidamente corrigido :-)