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

Bagaimana cara menjatuhkan tabel berdasarkan kondisi JIKA di postgres?

IF tidak dapat digunakan dalam SQL, ini hanya berlaku untuk PL/pgSQL.

Anda perlu melakukan ini dengan SQL dinamis di dalam blok PL/pgSQL anonim. Sesuatu seperti:

do
$$
declare
  l_count integer;
begin
  select count(*)
     into l_count
  from pg_class c
    join pg_namespace nsp on c.relnamespace = nsp.oid
  where c.relname = 'mytable' 
    and c.relpersistence = 'u'
    and nsp.nspname = 'public';

  if l_count = 1 then 
    execute 'drop table mytable';
  end if;

end;
$$

Anda mungkin harus memperpanjang select pernyataan untuk bergabung dengan pg_namespace dan sertakan nama skema dalam kondisi where Anda untuk memastikan Anda tidak secara tidak sengaja menjatuhkan tabel dari skema yang salah.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Postgres menggabungkan beberapa Indeks

  2. Bagaimana Anda memilih rentang tanggal di postgres?

  3. Menyimpan cap waktu di Postgres berdasarkan tanggal Java

  4. Salin tabel (termasuk indeks) di postgres

  5. Postgres:menggunakan stempel waktu untuk pagination