有以下幾種方法可以清空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;
無論使用哪種方法,都應謹慎操作,確保清空表數據不會對系統產生負面影響。備份數據并在生產環境之前進行測試。