Хочу сегодня привести примеры создания функций для СУБД Microsoft SQL Server и PostgreSQL. Функция возвращает таблицу с 3-мя полями.
Как это пишется в MS SQL Server:
CREATE FUNCTION dbo.myFunction (<variables list>)
RETURNS @result_table TABLE(field1 integer, field2 integer, field3 integer)
AS
BEGIN
insert into @result_table
select val1, val2, val3 from another_table;
return;
END
Функция в Microsoft SQL Server
А вот так в PostgreSQL:
CREATE OR REPLACE FUNCTION public.get_count_in_batch(<variabls list>)
RETURNS TABLE(field1 integer, field2 integer, field3 integer)
LANGUAGE 'plpgsql'
COST 100
VOLATILE
ROWS 1000
AS $BODY$
begin
return query select val1, val2, val3 from another_table;
end;
$BODY$;
Функция в PostgreSQL
Конечно, здесь примеры сокращены до минимума, только лишь с целью показать механизм возврата результата. Продолжить чтение «Функция, возвращающая таблицу returns table — в PostgreSQL и MS SQL Server»