有以下几种方法可以清空Oracle数据库中所有表的数据:
BEGIN
FOR cur_rec IN (SELECT table_name FROM user_tables) LOOP
EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || cur_rec.table_name;
END LOOP;
END;
BEGIN
FOR cur_rec IN (SELECT table_name FROM user_tables) LOOP
EXECUTE IMMEDIATE 'DELETE FROM ' || cur_rec.table_name;
END LOOP;
END;
CREATE OR REPLACE PROCEDURE clear_all_tables IS
BEGIN
FOR cur_rec IN (SELECT table_name FROM user_tables) LOOP
EXECUTE IMMEDIATE 'TRUNCATE TABLE ' || cur_rec.table_name;
END LOOP;
END clear_all_tables;
然后可以调用该存储过程来清空所有表的数据:
EXEC clear_all_tables;
无论使用哪种方法,都应谨慎操作,确保清空表数据不会对系统产生负面影响。备份数据并在生产环境之前进行测试。
亿速云「云数据库 MySQL」免部署即开即用,比自行安装部署数据库高出1倍以上的性能,双节点冗余防止单节点故障,数据自动定期备份随时恢复。点击查看>>
相关推荐:oracle怎么清空所有表数据