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

Mengembalikan set baris dari fungsi plpgsql.

CREATE FUNCTION test() 
RETURNS my_table AS
$BODY$
DECLARE
    q4 my_table;
BEGIN
    -- add brackets to get a value 
    -- select row as one value, as q4 is of the type my_table
    -- and limit result to one row
    q4 := (SELECT my_table FROM my_table ORDER BY 1 LIMIT 1);
    RETURN q4;
END;$BODY$
-- change language to plpgsql
LANGUAGE plpgsql;
  • Anda tidak dapat menggunakan variabel di sql fungsi, gunakan plpgsql .
  • Anda dapat menetapkan nilai tunggal ke variabel, sementara select query mengembalikan set baris.
  • Anda harus memilih satu baris sebagai satu nilai, karena variabelnya bertipe komposit.

Contoh penggunaan loop:

DROP FUNCTION test();
CREATE FUNCTION test() 
-- change to SETOF to return set of rows, not a single row
RETURNS SETOF my_table AS
$BODY$
DECLARE
    q4 my_table;
BEGIN
    FOR q4 in
        SELECT * FROM my_table
    LOOP
        RETURN NEXT q4;
    END LOOP;
END;$BODY$
LANGUAGE plpgsql;

SELECT * FROM test();

Baca dokumentasi tentang Kembali Dari Fungsi



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

  2. PDO dapatkan pecahan detik dari Postgres

  3. ComboBox.ValueMember dan DisplayMember

  4. Algoritma Pencarian Grafik Sederhana dalam SQL (PostgreSQL)

  5. postgresql memigrasi JSON ke JSONB