He estado agrupando subdivisiones de código en bloques BEGIN ... END cuando parece correcto. Sobre todo cuando estoy trabajando en un procedimiento almacenado más largo y hay una necesidad de una variable temporal en un lugar, lo declararé solo para esa parte del código. También hago esto cuando quiero identificar y manejar excepciones arrojadas por una pieza específica de código.¿Cuándo debo anidar los bloques PL/SQL BEGIN ... END?
¿Alguna otra razón por la cual uno debe anidar bloques dentro de un procedimiento, función u otro bloque más grande de PL/SQL?
+1. La mejor práctica para los bloques 'begin/end' es bloques anónimos, bloques con nombre (procedimiento/función) o para manejar excepciones específicas, como en el primer ejemplo. Anidando una declaración 'declare' dentro de un bloque' begin/end', yo llamaría a un error de programación, porque introduce la posibilidad de colisiones de alcance variable, y esos son difíciles de depurar. –