Cita: ¿Es posible usar la misma variable en varios errores? ¿o reusarla? ¿o preguntar si esta activada? por lo que entendi signal detiene la ejecucion y el error se procesa de forma inmediata por lo que no entiendo que ventaja tiene usar una variable
En ese caso 1 y 2 hacen lo mismo en cuanto a SQLSTATE se trata, por lo que en realidad habría que ver el contexto del error para entender cuál es el objetivo.
Por otro, nada impide que una misma variable aplique a N eventos diferentes. Eso tiene más relación con la lógica que se quiere implementar. Además, no te olvides que ese es un ejemplo. Lo importante es lo que tu mismo desarrolles.
La importancia del uso de una variable tiene que ver con muchas cosas, como por ejemplo si dentro de una condicion del IF desarrollas una acción que pueda disparar un fallo distinto, al que quieres personalizar a su vez, sin necesidad de declarar nuevas variables (que por otro lado no se necesitan).
No te distraigas por la forma en que se hacen las cosas. Lo que debes analizar es el fondo, la razón por la que se hacen las cosas así y en qué contexto se presentan los casos.
En otras palabras, debes revisar el escenario. El SIGNAL es sólo una herramienta que puede tener un uso flexible.