Всем доброе время суток! Ребят, такая задача: нужно создать хранимую процедуру, которая удаляет из таблицы набор данных, например delete from table where id in (1,2,3), так вот, id записей, которые надо удалить, должны передаваться этой процедуре в качестве параметра, но какой нужно задать тип парамертра и как в него передать набор этих id чтобы он запихнул их в (in), количество их может быть любое. Я сделал входной параметр arg:varchar(255), сама процедура выглядит так:
Proc1(In arg Varchar(255))\
begin
delete from table where id in (arg);
end;
а обращаюсь к ней как call Proc1("1,2,3"),
происходит удаление только первой записи их переданных (id=1). Как сделать чтобы удалялись все переданные?
Заранее спасибо!
MySQL - Удаление через хранимую процедуру
-
Delirium
Re: MySQL - Удаление через хранимую процедуру
JaRule, почитай тему из соседней ветки -
Параметр надо делать максимально большим, т.к. ты не знаешь количество ID, которое будет передавать. В SQL Server это NVARCHAR(MAX).
Суть в том, что тебе надо будет( как в примере выше) сформировать сначала готовую строку, а потом запустить процедуру, выполняющую любой корректный SQL код.
MSFT SQL Server - SQL Backup-создание ежедневно нового архива
.Параметр надо делать максимально большим, т.к. ты не знаешь количество ID, которое будет передавать. В SQL Server это NVARCHAR(MAX).
Суть в том, что тебе надо будет( как в примере выше) сформировать сначала готовую строку, а потом запустить процедуру, выполняющую любой корректный SQL код.