PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

Procedura składowana Postgresql zwraca tabelę wszystkich kolumn

Jeśli chcesz zwrócić wynik, musisz użyć return query w PL/pgSQL zgodnie z dokumentacją w instrukcji

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;

Ale nie potrzebujesz do tego PL/pgSQL, prosta funkcja SQL będzie bardziej wydajna:

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. Prawidłowe wstawienie nazwy tabeli

  2. Nie można usunąć użytkowników tabeli, ponieważ zależą od tego inne obiekty

  3. Nie można uruchomić harmonogramu web2py przy użyciu bazy danych postgresql

  4. ŁĄCZENIE BOCZNE nie używa indeksu trygramu

  5. Postgresql throw null wartość w kolumnie narusza ograniczenie not-null podczas korzystania z relacji oneToMany w JPA