过程摘要:我创建了一个游标并提取数据并将其插入到我在数据库中创建的表 mm_dummy_table 中。 我不希望数据存储在创建的表中,应该为此创建一个临时表,并且它应该消失。请帮助创建一个临时表来查看我在光标中提取的数据。如何在不使用 user_username like '%a%' 的条件的情况下只获取姓名中包含 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 ;
最佳答案
开始 声明 v_user_id INT; 声明 v_username VARCHAR(100); 声明 dummy_cur 游标为 选择用户 ID、用户全名 来自 m_users WHERE User_FullName LIKE '%a%';
CREATE TEMPORARY TABLE `mtest`(
user_id
INT(11) NOT NULL AUTO_INCRMENT,
用户名
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$$
关于mysql - 必须创建一个临时表才能在过程中查看,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35934508/