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

Mengembalikan beberapa nilai dalam suatu fungsi

Anda terlalu rumit. Karena Anda ingin mengembalikan beberapa nilai, Anda perlu mendefinisikan fungsinya sebagai returns table atau returns setof . Saya lebih suka returns table karena memungkinkan Anda juga menentukan nama kolom hasil.

Anda juga tidak memerlukan PL/pgSQL untuk ini, fungsi SQL biasa dengan UPDATE pernyataan sudah cukup:

CREATE OR REPLACE FUNCTION assign_task(IN worker text)
  returns table (id bigint)
as
$BODY$
 UPDATE queue
  SET status = 'In progress', worker = $1
  WHERE status = 'New'
  RETURNING queueid;
$BODY$
LANGUAGE sql VOLATILE;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Akankah Postgres menekan klausa WHERE menjadi VIEW dengan Fungsi Jendela (Agregat)?

  2. Postgres - Ubah daftar adjacency menjadi objek JSON bersarang

  3. Kueri Rails tipe data Postgres JSON

  4. Bagaimana saya bisa melampirkan database ke aplikasi di Heroku?

  5. Meratakan kolom JSONB bersarang Postgres