代码如下,第一次写,不知道什么地方错了,我想在删除第一个表的一条数据后,从删除的那条记录中查出tableName名字,前面加上"first" 为另一个表名,在此把这个表给删去!
delimiter //
CREATE TRIGGER `testDB`.`t_fist_second` AFTER DELETE
ON testDB.first FOR EACH ROW
BEGIN
set @tableName="first" + (select tableName from OLD);
drop table tableName;
END; //
delimiter;
delimiter //
CREATE TRIGGER `testDB`.`t_fist_second` AFTER DELETE
ON testDB.first FOR EACH ROW
BEGIN
set @tableName="first" + (select tableName from OLD);
drop table tableName;
END; //
delimiter;
set @tableName=CONCAT('drop table ','first',OLD.tableName);
PREPARE stmt1 FROM @tableName
EXECUTE stmt1
delimiter //
CREATE TRIGGER testDB.t_first_second AFTER DELETE
ON testDB.first FOR EACH ROW
BEGIN
set @tableName=CONCAT('drop table ','dfirst',OLD.tableName);
PREPARE stmt1 FROM @tableName;
EXECUTE stmt1;
END; //
delimiter; 却又提示出
Dynamic SQL is not allowed in stored function or trigger;
到临时表中,用SP来执行。