Я очень новичок в разработке баз данных, поэтому у меня есть некоторые сомнения относительно моего следующего примера:
Функция f1 () - язык sql
create or replace function f1(istr varchar)
returns text as $$
select 'hello! '::varchar || istr;
$$ language sql;
Функция f2 () - язык plpgsql
create or replace function f2(istr varchar)
returns text as $$
begin select 'hello! '::varchar || istr; end;
$$ language plpgsql;
Обе функции могут вызываться как
select f1('world')
илиselect f2('world')
.Если я вызываю
select f1('world')
, вывод будет:`hello! world`
- # P6 #
# P7 #
Я хочу знать разницу и в каких ситуациях мне следует использовать
language sql
илиlanguage plpgsql
.
Будем очень признательны за любую полезную ссылку или ответы относительно функций.
CREATE TABLE
, в то время как функция PL / pgSQL может? Какова причина? См. stackoverflow.com/questions/51004980/ 25.06.2018