【发布时间】:2021-10-15 21:44:22
【问题描述】:
我们的数据库没有实现ON DELETE CASCADE,所以我需要创建一个脚本或存储过程来删除多个表中的记录,因为查询中的 Ids 的结果:
我在存储过程中尝试过,但无法在变量中分配多行:
CREATE PROCEDURE `Delete_card`(IN _status INT)
BEGIN
SET @IDs = SELECT ID FROM TABLE_ID WHERE Status=_status;
DELETE FROM TABLE_A WHERE ID IN (@IDs);
DELETE FROM TABLE_B WHERE ID IN (@IDs);
DELETE FROM TABLE_C WHERE ID IN (@IDs);
DELETE FROM TABLE_D WHERE ID IN (@IDs);
DELETE FROM TABLE_E WHERE ID IN (@IDs);
END
【问题讨论】:
标签: mysql join left-join sql-delete