sql >> Database teknologi >  >> RDS >> Mysql

Hvorfor afgrænser brugt med lagret procedure i mysql?

Mysqls standardafgrænser er ; som bruges til én sætning i kommandolinjen , noget som

select * from users ;

Når du skriver en trigger eller lagret procedure for at udføre hele koden, skal mysql forstå, at det er en blok af kode/forespørgsel.

Hvis der ikke er angivet nogen afgrænsning, så når mysql støder på nogen ; inde i butikkens procedure eller trigger, vil den tænke, at det er én erklæring og vil forsøge at udføre det. Så vi er nødt til at give en afgrænsning til butiksprocedure eller trigger og få mysql til at forstå, at alt inden for denne afgrænsning er ét komplet sæt kode.

Så i dit eksempel

SELECT * FROM products; 

det vil være en del af den komplette sætning, når der er et andet skilletegn end ; er angivet i begyndelsen.




  1. sql ::SQLString adfærd

  2. Ydelsesproblemer med SQL Server 2012 Enterprise Edition under CAL-licens

  3. Sådan opretter du skrivebeskyttet bruger i PostgreSQL

  4. Få automatisk adgang til DB5 til MySQL