Написание дополнительных параметров в хранимых процедурах в MySQL?

Я хотел бы создать хранимую процедуру, которая обновляет либо все поля в таблице, либо несколько из них в соответствии с переданными ей параметрами.

Как создать хранимую процедуру, которая принимает необязательные параметры?

Optional Parameters еще не поддерживаются MySQL. Я предлагаю вам передать значение null в свой параметр, и внутри вашей хранимой процедуры есть оператор IF .

 DELIMITER $$ CREATE PROCEDURE procName (IN param VARCHAR(25)) BEGIN IF param IS NULL THEN -- statements ; ELSE commands -- statements ; END IF; END$$ DELIMITER ; 

Частным случаем является, когда параметр cant ‘равен NULL, т. Е. Потому что является ключом. Я использую трюк для этого случая: я устанавливаю параметр равным -1:

 CREATE PROCEDURE procCreate (IN id_cosa INT(11)) BEGIN IF id_cosa != -1 THEN ~~(your code here)~~ END IF END 
  • Запрос законного примера вызова хранимой процедуры C #: MYSQL
  • Получить возвращаемое значение из хранимой процедуры
  • Динамические имена таблиц в функции хранимой процедуры
  • Недопустимое сочетание сортировок (utf8_unicode_ci, IMPLICIT) и (utf8_general_ci, IMPLICIT) для операции '='
  • Захват хранимой процедуры печати вывода в .NET.
  • Как поднять ошибку в функции MySQL
  • MySQL хранимой процедуры против функции, которую я буду использовать, когда?
  • Создание хранимой процедуры и SQLite?
  • Как передать строковый параметр с помощью оператора `IN` в хранимой процедуре SQL Server 2008
  • Извлечение типа таблицы Oracle из хранимой процедуры с использованием JDBC
  • Как вызвать хранимую процедуру oracle, которая включает пользовательский тип в java?
  • Давайте будем гением компьютера.