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

Аргументът за грешка на съхранената процедура 1 за рутина ... не е променлива или НОВА псевдопроменлива в тригера BEFORE

Мисля, че проблемът е във вашето извикване на процедурата.

С версии на MySQL конектора, които не поддържат OUT параметри, нормалното заобиколно решение е да се използват потребителски променливи на MySQL за задържане на върнатите стойности и след това да се изпълни заявка, за да се получат стойностите на тези променливи.

Първо, изпълнете съхранената процедура и накарайте MySQL да постави стойностите на OUT аргументите в променливи:

CALL `Get_Next_Processing_Video`(@IDVideo, @YoutubeIDVideo);

Имайте предвид, че тези променливи не са командни параметри; те са променливи, които се съхраняват в MySQL сесията. За да получите стойностите на тези променливи, веднага след извикването на процедурата, като използвате същата MySQL връзка:

SELECT @IDVideo, @YoutubeIDVideo ;

И обработете набора от резултати от тази заявка, както бихте искали всеки друг оператор SELECT, който очаквате да върне един ред.

Актуализация:

С по-новите версии на MySQL Connector, които поддържат OUT параметри, мисля, че трябва да посочите, че тези параметри са OUT параметри, като зададете членски атрибут:

cmd.Parameters["out_IDVideo"].Direction = ParameterDirection.Output;
cmd.Parameters["out_YoutubeIDVideo"].Direction = ParameterDirection.Output;

Както посочих по-рано...

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



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как условно да конвертирате инчове в cm в MySQL (или подобни реализации по време на SELECT)?

  2. SQL:Подреждане по колона, след това по подниз смесване на възходящ и низходящ

  3. PHP Предупреждение:Стартиране на PHP:Не може да се зареди динамична библиотека '/usr/lib/php/20151012/msqli.so'

  4. Flask-Sqlalchemy Липсващият BEGIN изглежда причинява несинхронизирани сесии

  5. Изберете произволен ред за отделна стойност на полето?