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

Cara menjatuhkan beberapa tabel di PostgreSQL menggunakan wildcard

Gunakan daftar yang dipisahkan koma:

DROP TABLE foo, bar, baz;

Jika Anda benar-benar membutuhkan footgun, yang ini akan melakukan tugasnya:

CREATE OR REPLACE FUNCTION footgun(IN _schema TEXT, IN _parttionbase TEXT) 
RETURNS void 
LANGUAGE plpgsql
AS
$$
DECLARE
    row     record;
BEGIN
    FOR row IN 
        SELECT
            table_schema,
            table_name
        FROM
            information_schema.tables
        WHERE
            table_type = 'BASE TABLE'
        AND
            table_schema = _schema
        AND
            table_name ILIKE (_parttionbase || '%')
    LOOP
        EXECUTE 'DROP TABLE ' || quote_ident(row.table_schema) || '.' || quote_ident(row.table_name) || ' CASCADE ';
        RAISE INFO 'Dropped table: %', quote_ident(row.table_schema) || '.' || quote_ident(row.table_name);
    END LOOP;
END;
$$;

SELECT footgun('public', 'tablename');


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menyortir elemen array

  2. Kegagalan untuk Replikasi PostgreSQL 101

  3. PostgreSQL:Ubah PEMILIK pada semua tabel secara bersamaan di PostgreSQL

  4. Masalah koneksi dengan SQLAlchemy dan beberapa proses

  5. bagaimana cara menyalin data dari file ke PostgreSQL menggunakan JDBC?