Функция PostgreSQL с двумя операторами выбора - PullRequest
0 голосов
/ 22 ноября 2018

Я пытаюсь создать функцию PostgreSQL, объявляющую две переменные для возврата каждой из них результата другого запроса, сами запросы действительно просты и полагаются на один и тот же выбор с различными условиями:

select count (*) from editions where year >= '2000'

и

select count (*) from editions where year < '2000'

Структура таблицы также проста, есть три строки:

  1. Код (числовой)
  2. Версия (символ)
  3. Год (целое число)

Как я могу создать эту функцию?

1 Ответ

0 голосов
/ 22 ноября 2018

Это так просто ... Я думаю, вы можете найти много учебников в Google, чтобы создать этот Function .. И ваш Year столбец Integer, так что не относитесь к String, используйте Single Quote..

Функция totalRecords1 ()

CREATE OR REPLACE FUNCTION totalRecords1()
RETURNS integer AS $total1$
declare
    total1 integer;
BEGIN
   SELECT count(*) into total1 
   FROM your_table
   WHERE year >= 2000;
   RETURN total1;
END;
$total1$ LANGUAGE plpgsql;

Функция totalRecords2 ()

CREATE OR REPLACE FUNCTION totalRecords2()
RETURNS integer AS $total2$
declare
    total2 integer;
BEGIN
   SELECT count(*) into total2 
   FROM your_table
   WHERE year < 2000;
   RETURN total2;
END;
$total2$ LANGUAGE plpgsql;

И Select Statement

select totalrecords1(), totalrecords2();

Вы можете увидеть здесь в DEMO

...