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

Mengubah jenis kolom yang digunakan dalam tampilan lain

Saya pikir ini melakukan apa yang Anda inginkan, meskipun saya memindahkan daftar tampilan ke akhir argumen agar kompatibel dengan semantik VARIADIC.

CREATE OR REPLACE FUNCTION recreate_views(run_me text, VARIADIC views text[])
  RETURNS void
AS  $$
DECLARE
  view_defs text[];
  i integer;
  def text;
BEGIN
  for i in array_lower(views,1) .. array_upper(views,1) loop
    select definition into def from pg_views where viewname = views[i];
    view_defs[i] := def;
    EXECUTE 'DROP VIEW ' || views[i];
  end loop;

  EXECUTE run_me;

  for i in reverse array_upper(views,1) .. array_lower(views,1) loop
    def = 'CREATE OR REPLACE VIEW ' || quote_ident( views[i] ) || ' AS ' || view_defs[i];
    EXECUTE def;
  end loop;

END
$$
LANGUAGE plpgsql;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Lewati beberapa nilai dalam parameter tunggal

  2. alat kueri pgadmin4 selalu kembali tidak terhubung

  3. Bagaimana Tand() Bekerja di PostgreSQL

  4. instalasi postgres inisialisasi cluster database gagal ( Postgresql Versi 9.4.4 )

  5. Memiliki Group By Clauses — GeneralBits elein