Chcę napisać funkcję z pl/pgsql
. Używam PostgresEnterprise Manager v3 i używam powłoki do tworzenia funkcji, ale w powłoce muszę zdefiniować typ powrotu. Jeśli nie zdefiniuję typu zwracanego, nie mogę utworzyć funkcji.
Jak można stworzyć funkcję bez zwracania wyniku, tj. Funkcję, która tworzy nową tabelę?
postgresql
function
plpgsql
void
Kabi
źródło
źródło
#variable_conflict
dyrektywa nie ma nic wspólnego z resztą odpowiedzi. To tylko część przykładowej funkcji; jedyną ważną rzeczą jestRETURNS void
. Poza tym fajnie, nie wiedziałem, że PL / PgSQL ma pragmy.#variable_conflict
: dba.stackexchange.com/a/105828/3684SELECT * FROM stamp_user(...)
, to dostaję,error: query has no destination for result data
a jeśli po prostu napiszę,stamp_user(...)
to otrzymamsyntax error
.Funkcje muszą zawsze coś zwracać, chociaż możesz użyć takich procedur, jak
i zacznij od normalnej funkcji, takiej jak
ale jeśli nadal chcesz wykonać funkcję, po prostu dodaj void po zakończeniu zwracania .
źródło