Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо се използва разделител със съхранена процедура в mysql?

Разделителят по подразбиране на Mysql е ; който се използва за един израз в командния ред, нещо като

select * from users ;

Когато пишете тригер или съхранена процедура за изпълнение на целия код, mysql трябва да разбере, че това е блок от код/заявка.

Ако не е предоставен разделител, тогава когато mysql срещне ; вътре в процедурата за съхранение или тригера, той ще мисли това като един израз и ще се опита да го изпълни. Така че трябва да предоставим разделител за процедура или тригер за съхранение и да накараме mysql да разбере, че всичко в този разделител е един пълен набор от код.

Така че във вашия пример

SELECT * FROM products; 

той ще бъде част от пълния оператор, когато има разделител, различен от ; се предоставя в началото.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Entity framework 5.0 първо код с MySQL в WPF

  2. Как да комбинирате данни от множество таблици с помощта на SQL?

  3. PHP MySQL пагинация с произволен ред

  4. Групирайте, сортирайте и пребройте в една заявка

  5. Проверка дали mysql_query върна нещо или не