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

Cara mengembalikan tabel berdasarkan tipe baris di PL/pgSQL

Apa yang Anda miliki sejauh ini terlihat bagus. Bahan yang hilang:jenis polimorfik .

CREATE OR REPLACE FUNCTION change_val(_tbl_type anyelement)
  RETURNS SETOF anyelement  -- problem solved
  LANGUAGE plpgsql AS
$func$
BEGIN
   RETURN QUERY EXECUTE format(
      'UPDATE %s SET val = 2 RETURNING *;'
     , pg_typeof(_tbl_type))
     );
END
$func$;

Telepon (penting):

SELECT * FROM change_val(NULL::some_tbl);

db<>fiddle di sini
Lama sqlfiddle

Lihat (paragraf terakhir):




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Saya ingin memulihkan database dengan skema yang berbeda

  2. Pengguna Postgres tidak ada?

  3. Fungsi Postgres mengembalikan baris sebagai nilai JSON

  4. Fungsi Matematika PostgreSQL

  5. Tips Penerapan Hybrid Cloud PostgreSQL