Задавайте вопросы, мы ответим
Вы не зашли.
Всем привет!
Подскажите, вот что. Делаю поиск записи в таблице через курсор. А потом хочу удалить эту запись. Как это можно сделать используя курсор, который указывает на эту запись? Че то разобраться не могу...
Вот пример хранимки
CREATE DEFINER = 'root' @'localhost'
PROCEDURE maindb.deleterecord(IN delkey INT)
BEGIN
DECLARE ikey INT;
DECLARE cur1 CURSOR FOR SELECT
`key`
FROM
`testtable`;
OPEN cur1;
read_loop:
LOOP
FETCH cur1 INTO ikey;
IF ikey = delkey THEN
LEAVE read_loop;
END IF;
END LOOP;
-- ??? удалить запись cur1 ???
CLOSE cur1;
END
Неактивен
Курсоры в MySQL работают только на чтение. Вам нужно запомнить
id записи, а потом удалить ее обычным DELETE.
Конкретно в Вашем примере, впрочем, можно просто написать
DELETE FROM testtable WHERE key = delkey
Неактивен
Понятно. Спасибо за ответ!
Неактивен