Oracle
 sql >> база данни >  >> RDS >> Oracle

SQL:изтрийте всички данни от всички налични таблици

Няма команда 'ALTER TABLE XXX DISABLE ALL CONTRAINTS'

Предлагам това;

BEGIN
  FOR c IN (SELECT table_name, constraint_name FROM user_constraints WHERE constraint_type = 'R')
  LOOP
    EXECUTE IMMEDIATE ('alter table ' || c.table_name || ' disable constraint ' || c.constraint_name);
  END LOOP;
  FOR c IN (SELECT table_name FROM user_tables)
  LOOP
    EXECUTE IMMEDIATE ('truncate table ' || c.table_name);
  END LOOP;
  FOR c IN (SELECT table_name, constraint_name FROM user_constraints WHERE constraint_type = 'R')
  LOOP
    EXECUTE IMMEDIATE ('alter table ' || c.table_name || ' enable constraint ' || c.constraint_name);
  END LOOP;
END;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Преобразуване на цифри/числа в думи за валута INR (индийски рупии) в Oracle PL/SQL

  2. SQL ROWNUM как да върнете редове между конкретен диапазон

  3. как да вмъкна дата и час в oracle?

  4. Зареждане на данни за изображения в BLOB колони в Oracle

  5. ORA-01618