sql >> データベース >  >> RDS >> Oracle

SQL:使用可能なすべてのテーブルからすべてのデータを削除します

    コマンドはありません'ALTERTABLE XXX DISABLE ALL CONSTRAINTS'

    私はこれを提案します;

    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. SQL Server(T-SQL)で文字列の左側の部分を取得する

    2. 接続プールの枯渇を回避するためのJDBCMySql接続プールの実践

    3. PostgreSQLで2つのタイムスタンプの差を計算する方法

    4. JavaでのOracleのRETURNINGINTOの使用法(JDBC、プリペアドステートメント)