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

MySQL каза:#1415 - Не е разрешено да връща набор от резултати от функция

Съобщението за грешка в този случай казва най-важната част:

Това поведение е в съответствие с това, което е документирано в ръководството на MySQL за съхранени процедури и функции:

Вие присвоявате стойности на вашия @Pn променливи, използващи оператори за избор, които връщат набор от резултати и това не е позволено във функция. Трябва да премахнете тези твърдения от вашия код. RETURN river връща резултатна стойност , но не и резултатнабор .

Освен това се притеснявам, че използвате сесийни променливи (променливи, дефинирани като @variable_name), които се споделят в една връзка, така че потенциално множество извиквания към една и съща функция едновременно в рамките на една връзка може да си пречат.

Съхранената функция трябва да връща само една стойност като своя изход с return изявление. Всичко друго се счита за страничен ефект. Ако искате вашият MySQL скрипт да попълва множество променливи, тогава трябва използвате запомнена процедура, не можете да използвате запаметена функция.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Хеширане или криптиране на променливи, които да бъдат изпратени в URL адрес

  2. Използване на SQL за определяне на статистиката за броя на думите в текстово поле

  3. QSqlDatabase open винаги връща true след актуализиране

  4. SQL заявка за намиране на стойност в множество диапазони

  5. PHP isset() с множество параметри