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

funkcja nie istnieje, ale naprawdę myślę, że tak

Cóż, coś jest dziwne. Zrobiłem:

[email protected]@[local] =# create function abuse_resolve(inout __abuse_id bigint,
                               out __msg text) returns record language plpgsql as
                               $$ begin __msg = 'ok'; end; $$;
CREATE FUNCTION
[email protected]@[local] =# \df abuse_resolve
List of functions
-[ RECORD 1 ]-------+----------------------------------------
Schema              | so9679418
Name                | abuse_resolve
Result data type    | record
Argument data types | INOUT __abuse_id bigint, OUT __msg text
Type                | normal

[email protected]@[local] =# select abuse_resolve('30'::bigint);
-[ RECORD 1 ]-+--------
abuse_resolve | (30,ok)

Czy miałeś inne problemy z tą bazą danych? Czy możesz go skopiować za pomocą zrzutu/przywrócenia i wypróbować to na nowej kopii? Czy jawne zakwalifikowanie nazwy funkcji za pomocą schematu „public” pomaga? Której wersji PostgreSQL używasz?

aktualizacja:funkcja sql U mnie też działało dobrze, używając:

create function abuse_resolve(inout __abuse_id bigint, out __msg text)
  language sql as $$ select $1, 'ok'::text $$;


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak odziedziczyć uprawnienia roli?

  2. Najważniejsze rzeczy do monitorowania w PostgreSQL — analiza obciążenia

  3. Jak uzyskać wynik z dynamicznego SQL w Postgresie?

  4. Wyświetlaj tabele w schemacie PostgreSQL

  5. Funkcje PDO a funkcje pg_*