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

Prosedur tersimpan Postgresql mengembalikan tabel semua kolom

Jika Anda ingin mengembalikan hasil, Anda perlu menggunakan return query di PL/pgSQL seperti yang didokumentasikan dalam manual

CREATE OR REPLACE FUNCTION dwgcould.returnallcolumns(IN sessionId character varying)
  RETURNS SETOF public.mytable AS
$BODY$
BEGIN
  return query --<< this was missing
    SELECT * 
    FROM public.mytable 
    WHERE session_id = returnallcolumns.sessionId 
    ORDER BY pro_id DESC LIMIT 1;
END;
$BODY$
LANGUAGE plpgsql VOLATILE;

Tetapi Anda tidak memerlukan PL/pgSQL untuk ini, fungsi SQL sederhana akan lebih efisien:

CREATE OR REPLACE FUNCTION dwgcould.returnallcolumns(IN sessionId character varying)
  RETURNS SETOF public.mytable AS
$BODY$
    SELECT * 
    FROM public.mytable 
    WHERE session_id = returnallcolumns.sessionId 
    ORDER BY pro_id DESC LIMIT 1;
$BODY$
LANGUAGE sql;



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Python psycopg2 tidak dimasukkan ke dalam tabel postgresql

  2. Gabungan kueri array JSONB di Postgres?

  3. Setel ulang urutan dalam jpa

  4. Apache Cayenne / PostgreSQL:terlalu banyak klien yang sudah error

  5. Cara Mengubah Pengguna menjadi Pengguna Super di PostgreSQL