PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Memotong semua tabel dalam database Postgres

FrustratedWithFormsDesigner benar, PL/pgSQL dapat melakukan ini. Berikut scriptnya:

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;

Ini menciptakan fungsi tersimpan (Anda perlu melakukan ini sekali saja) yang kemudian dapat Anda gunakan seperti ini:

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. mencetak nilai variabel di postgresql

  2. Mendapatkan hasil yang diketik dari SQL mentah ActiveRecord

  3. Tambahkan Minggu ke Tanggal di PostgreSQL

  4. Tentang kegunaan indeks ekspresi

  5. django.db.utils.ProgrammingError:relasi sudah ada