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

Deklarasikan variabel tipe baris di PL/pgSQL

Satu cara:gunakan catatan record variabel:

DO $$
DECLARE
   _rec record;
BEGIN
SELECT INTO _rec
            id, name, surname FROM t WHERE id = ?;
END $$;

Perhatikan bahwa struktur record jenis tidak terdefinisi sampai ditetapkan. Jadi Anda tidak dapat mereferensikan kolom (bidang) sebelum melakukannya.

Cara lain:tetapkan beberapa variabel skalar:

DO $$
DECLARE
   _id int;
   _name text;
   _surname text;
BEGIN
SELECT INTO _id, _name, _surname
             id,  name,  surname FROM t WHERE id = ?;
END $$;

Adapun contoh pertama Anda:%ROWTYPE hanya kebisingan di Postgres. Dokumentasi :

Jadi:

DO $$
DECLARE
   my_data t;  -- table name serves as type name, too. 
BEGIN
   SELECT INTO my_data  * FROM t WHERE id = ?;
END $$;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Berikan hak istimewa kepada semua pengguna, saat ini dan di masa mendatang

  2. PostgreSQL 9.X representasi byte dalam 'hex' atau 'escape' untuk gambar mini

  3. postgres - dengan rekursif

  4. Permintaan lambat pada tampilan UNION ALL

  5. Bagaimana cara mengubah posisi kolom dalam tabel database PostgreSQL?