Мне нужно создать хранимую процедуру в mysql, чтобы удалить несколько записей из таблицы, указав список id как список, разделенный запятыми.MySql удаляет несколько записей с помощью запятых.
пример
(Пожалуйста, обратите внимание, что Id столбец в таблице является целым числом)
DELIMITER $$
CREATE DEFINER=`root`@`%` PROCEDURE `deleteLines`(IN $ids varchar(1000))
BEGIN
select * from line where $ids in ($ids);
END$$
DELIMITER;
CALL deleteLines('1,3,5,12');
Что является лучшим способом для удаления нескольких записей в этом сценарии?
Создание sproc является конкретной частью краткого изложения? – Strawberry
Зачем вам нужна процедура для такой простой задачи? http://stackoverflow.com/questions/2615566/delete-where-id-in-list –
Эта хранимая процедура вызовет приложение. Вместо того, чтобы вызывать встроенный оператор SQL из приложения, я переместил его в хранимую процедуру. Позже, если потребуется модификация, будет легко сделать что угодно без компиляции приложения. –