sql >> Base de Datos >  >> RDS >> Mysql

¿Por qué se usa el delimitador con el procedimiento almacenado en mysql?

El delimitador predeterminado de Mysql es ; que se usa para una declaración en la línea de comando, algo como

select * from users ;

Cuando escribe un disparador o un procedimiento almacenado para ejecutar el código completo, mysql necesita entender que es un bloque de código/consulta.

Si no se proporciona ningún delimitador, cuando mysql encuentre cualquier ; dentro del procedimiento de almacenamiento o disparador, lo pensará como una declaración e intentará ejecutarlo. Por lo tanto, debemos proporcionar un delimitador para el procedimiento de almacenamiento o desencadenador y hacer que mysql entienda que cualquier cosa dentro de ese delimitador es un conjunto completo de código.

Así que en tu ejemplo

SELECT * FROM products; 

será parte de la declaración completa cuando haya un delimitador que no sea ; se proporciona al principio.