sql >> Database >  >> RDS >> Mysql

Waarom scheidingsteken gebruikt met opgeslagen procedure in mysql?

Het standaard scheidingsteken van Mysql is ; die wordt gebruikt voor één instructie in de opdrachtregel, iets als

select * from users ;

Wanneer u een trigger of opgeslagen procedure schrijft om de volledige code uit te voeren, moet mysql begrijpen dat het een codeblok/query is.

Als er geen scheidingsteken is opgegeven, wanneer mysql een ; . tegenkomt binnen de winkelprocedure of -trigger zal het denken dat als één statement en zal proberen het uit te voeren. We moeten dus een scheidingsteken opgeven voor de winkelprocedure of -trigger en mysql laten begrijpen dat alles binnen dat scheidingsteken één complete set code is.

Dus in jouw voorbeeld

SELECT * FROM products; 

het maakt deel uit van het volledige statement als er een ander scheidingsteken is dan ; wordt aan het begin gegeven.




  1. Capaciteitsplanning met prestatiegegevens

  2. Roep een opgeslagen procedure aan met parameter in c#

  3. Schema-ontwerp voor wanneer gebruikers velden kunnen definiëren

  4. MySQL-batch stmt met Statement.RETURN_GENERATED_KEYS