PostgreSQL
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> PostgreSQL

Bảng trả về thủ tục được lưu trữ Postgresql tất cả các cột

Nếu bạn muốn trả về một kết quả, bạn cần sử dụng return query trong PL / pgSQL như được ghi trong sách hướng dẫn

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;

Nhưng bạn không cần PL / pgSQL cho việc này, một hàm SQL đơn giản sẽ hiệu quả hơn:

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. Presto SQL:Thay đổi múi giờ bằng cách sử dụng chuỗi múi giờ do truy vấn không hoạt động

  2. Xóa các hàng trùng lặp khỏi bảng nhỏ

  3. Chuyển dữ liệu H2 sang PostgreSQL

  4. Tổng hợp kết nối PostgreSQL:Phần 3 - Pgpool-II

  5. PostgreSQL:So sánh chuỗi phân biệt chữ hoa chữ thường