2012-02-09 5 views
0
DELIMITER // 
DROP PROCEDURE IF EXISTS sp_vk_suspend// 
CREATE PROCEDURE sp_vk_suspend2() 
declare today = DATETIME DEFAULT NULL; 
declare accid = INT DEFAULT 11; 
set today = now(); 
BEGIN  
    SELECT * FROM members where expirydate < today;  
END // 

Это моя хранимая процедура. Я должен добавить одну или несколько зависимостей запроса от id из таблицы members. Как получить идентификатор из таблицы участников.Значение восстановления хранимой процедуры MySQL

например: Я должен добавить этот запрос в моем зре

UPDATE members 
SET suspend = 1 
WHERE id = 'some id from mem: tables' 
+0

вам необходимо обновить все элементы с 'ExpiryDate triclosan

+0

Да, мне нужно обновить все члены истечения срока действия. – pico

+0

Почему бы не попробовать таким образом 'UPDATE members SET suspend = 1 WHERE expirydate triclosan

ответ

0

я вижу ИМХО курсоры это то, что вам нужно

DECLARE done INT DEFAULT FALSE; 
DECLARE cur1 CURSOR FOR SELECT id FROM members where expirydate < today; 
DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = TRUE; 
DECLARE a INT; 

OPEN cur1; 

my_loop: LOOP 
    FETCH cur1 INTO a 

    IF done THEN 
     LEAVE my_loop; 
    END IF; 

    UPDATE members SET suspend=1 WHERE id = a; 
    INSERT INTO another(member_id) values(a); 

END LOOP; 
CLOSE cur1; 
Смежные вопросы