mysql存储过程变量错误

时间:2015-08-05 09:07:32

标签: mysql stored-procedures

您好我正在寻找我的方式来尝试首次从MSsql迁移数据。我创建了一个存储过程,清除所有表,这样我可以在测试和改变时重复导入数据。我认为我已经很好地计算了但我不确定如何使用delete语句获取变量的实际值。感谢您的帮助

DELIMITER $$

CREATE PROCEDURE ClearData ()
BEGIN

DECLARE v_finished INTEGER DEFAULT 0;
DECLARE v_TableName varchar(100) DEFAULT "";

-- declare cursor for list of tables to clear
DEClARE TableToRemove CURSOR FOR 

SELECT TABLE_NAME from information_schema.tables where table_type ='BASE TABLE';

-- declare NOT FOUND handler
DECLARE CONTINUE HANDLER 
    FOR NOT FOUND SET v_finished = 1;

OPEN TableToRemove;

ClearData: LOOP

FETCH TableToRemove INTO v_TableName;

IF v_finished = 1 THEN 
LEAVE ClearData;
END IF;

--This is the problem how do I get the value of v_TableName 
delete from `v_TableName`;


END LOOP ClearData;

CLOSE TableToRemove;

END$$

DELIMITER ;

0 个答案:

没有答案