PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Obcinanie wszystkich tabel w bazie danych Postgres

FrustratedWithFormsDesigner jest poprawny, PL/pgSQL może to zrobić. Oto skrypt:

CREATE OR REPLACE FUNCTION truncate_tables(username IN VARCHAR) RETURNS void AS $$
DECLARE
    statements CURSOR FOR
        SELECT tablename FROM pg_tables
        WHERE tableowner = username AND schemaname = 'public';
BEGIN
    FOR stmt IN statements LOOP
        EXECUTE 'TRUNCATE TABLE ' || quote_ident(stmt.tablename) || ' CASCADE;';
    END LOOP;
END;
$$ LANGUAGE plpgsql;

Tworzy to zapisaną funkcję (musisz to zrobić tylko raz), której możesz później użyć w następujący sposób:

SELECT truncate_tables('MYUSER');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wyceniony w tabeli odpowiednik parametru w Postgresql

  2. SQLalchemy nie zatwierdza zmian podczas ustawiania roli

  3. Co to jest PostgreSQL?

  4. Czy można zmienić naturalną kolejność kolumn w Postgresie?

  5. Nazwa tabeli jako parametr funkcji PostgreSQL