Mysql
 sql >> Baza danych >  >> RDS >> Mysql

Mysql CASE NIE ZNALEZIONO dla CASE STATEMENT w procedurze przechowywanej

Jest to problem specyficzny dla MySQL.
W MySQL sprawa musi zawsze mieć prawidłowe dopasowanie, stąd klauzula ELSE.
A ponieważ instrukcja po dopasowaniu nie może być pusta, możesz wypełnić ją za pomocą pusty blok tak:

ELSE BEGIN END;

Prawidłowy przypadek to na przykład:

CASE @news  
  WHEN 'emp' THEN  
    UPDATE equipos SET pe=pe+1,pg=pg-1 WHERE [email protected];  
  WHEN 'loc' THEN  
    UPDATE equipos SET pp=pp-1,pg=pg+1 WHERE [email protected];  
  ELSE BEGIN END;  
END CASE;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. SQL:Wybierz ostatni rekord dla każdego dnia podanej daty i godziny

  2. PreparedStatement:Czy mogę podać nazwę kolumny jako parametr?

  3. mysqli multiple query - ustawianie zmiennej generuje błąd logiczny/jak to pominąć?

  4. Jak zrobić stronicowanie danych JSON w PHP?

  5. Jak wybrać losowo jeden rząd biorąc pod uwagę wagę?