sql >> Databasteknik >  >> RDS >> PostgreSQL

funktion finns inte, men jag tror verkligen att den gör det

Något är konstigt. Jag gjorde:

[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)

Har du haft några andra problem med den här databasen? Kan du kopiera den med dump/restore och prova detta på den nya kopian? Hjälper det att uttryckligen kvalificera funktionsnamnet med det "offentliga" schemat? Vilken version av PostgreSQL använder du?

uppdatering:sql-funktion Det fungerade också bra för mig med:

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


  1. MySQL Trigger - radera efter uppdatering

  2. När vi skapar en databas i MySQL med PHP med hjälp av följande kod, var gör vi kopplingen och var gör vi databasen?

  3. ER-diagram i IRI Workbench

  4. lås raderna till nästa, välj postgres