程序摘要:我创建了一个游标并提取了数据并插入到我在db中创建的表mm_dummy_table中。 我不希望将数据存储在已创建的表中,应该为该时刻创建临时表,它应该消失。请帮助创建一个临时表来查看我在cursor中提取的数据。我可以只获得名字中没有A的人,而不使用user_username喜欢'%a%'。请帮助我的条件这个..
DELIMITER //
CREATE DEFINER=root@localhost PROCEDURE PRO_ABC_DUMMY()
BEGIN
declare v_user_id int;
declare v_username varchar(100);
declare dummy_cur cursor for
SELECT user_id, user_fullname
FROM m_users
WHERE User_FullName LIKE '%a%';
open dummy_cur;
BLOCK1:BEGIN
DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
LOOP1:LOOP
fetch dummy_cur into v_user_id, v_username;
insert into mm_users_dummy (user_id, user_name)
values
(v_user_id, v_username);
END LOOP loop1;
END BLOCK1;
CLOSE dummy_cur;
END//
DELIMITER ;
答案 0 :(得分:0)
BEGIN DECLARE v_user_id INT; DECLARE v_username VARCHAR(100); DECLARE dummy_cur CURSOR FOR SELECT user_id,user_fullname 来自m_users WHERE User_FullName LIKE'%a%&#39 ;;
CREATE TEMPORARY TABLE `mtest`(
user_id
INT(11)NOT NULL AUTO_INCREMENT,
user_name
VARCHAR(50),
主要关键(user_id
)
);
OPEN dummy_cur;
BLOCK1:BEGIN
DECLARE EXIT HANDLER FOR NOT FOUND BEGIN END;
LOOP1:LOOP
FETCH dummy_cur INTO v_user_id, v_username;
INSERT INTO mtest (user_id, user_name)
VALUES
(v_user_id, v_username);
END LOOP loop1;
END BLOCK1;
CLOSE dummy_cur;
SELECT * FROM mtest;
END$$