Я пишу хранимую процедуру PL/pgSQL, которая возвращает набор записей; каждая запись содержит все поля существующей таблицы (назовем ее Retailer, которая имеет два поля: retailer_key и retailer_name). Это, конечно, работает:
CREATE FUNCTION proc_Find_retailers
(IN p_Store_key INT)
RETURNS SETOF Retailer
AS $$ ...`
Теперь я хочу обновить sp, чтобы он возвращал два дополнительных поля в «конец» каждой возвращаемой записи. Я могу сделать что-то вроде:
CREATE FUNCTION proc_Find_store
(IN p_Store_key INT)
RETURNS TABLE (
retailer_key int,
retailer_name varchar(50),
addl_field_1 int,
addl_field_2 double precision)
AS $$ ...
В реальном мире моя таблица Retailer имеет 50 полей (не два в моем примере), поэтому перечисление всех этих полей в предложении RETURNS TABLE утомительно. Есть ли какой-нибудь короткий путь к этому, чтобы я мог сказать что-то вроде (я понимаю, что придумываю здесь вещи, которые синтаксически незаконны, но я делаю это, чтобы дать вам представление о том, что я ищу):
CREATE FUNCTION proc_Find_store
(IN p_Store_key INT)
RETURNS (SETOF Store,
addl_field_1 int,
addl_field_2 double precision)
AS $$ ...