I am using oracle DB to maintain more than 30 tables, how can I delete all the data from all the tables? I only want to delete the data but not drop the tables.
Delete all the data from all tables in oracle
DECLARE str VARCHAR2(100); BEGIN FOR i IN (SELECT object_name FROM user_objects WHERE object_type='TABLE' ) LOOP str := 'Truncate table '|| i.object_name; EXECUTE IMMEDIATE str; DBMS_OUTPUT.PUT_LINE('table data deleted :' || i.object_name); END LOOP; END;
For more info: http://www.oracleinformation.com/2014/10/delete-all-the-data-from-all-tables.html