Algunas cosas:
1) No se pueden anidar los bloques BEGIN/END.
2) Sólo tiene sentido usarlos para operaciones atómicas. No estás escribiendo en Pascal...
3) Estás metiendo un IF anidado innecesariamene. Si necesitas las dos condiciones, ponle AND.
4) Los scripts de SP de varias líneas requieren ser escritos con modificación de delimitador de sentencia para que se carguen completos.