Я хотел бы создать функцию, которая инициализирует и возвращает тип данных строки таблицы как
CREATE FUNCTION get_default_table_row_object()
RETURNS mytable AS $$
DECLARE
row mytable;
BEGIN
row.field1 := 0;
row.field2 := -1;
row.record_reg_id := 1;
row.record_upd_id := 1;
row.record_reg_date := current_timestamp;
row.record_upd_date := current_timestamp;
RETURN row;
END;
$$ LANGUAGE plpgsql;
, потому что в моей таблице много столбцов, и мне нужно создать десятки переменных для нескольких функций.Я хотел бы использовать вышеуказанную функцию как
CREATE FUNCTION some_function() RETURNS VOID AS $$
DECLARE
i_obj1 mytable := get_default_table_row_object(); -- declare and initialize default values
BEGIN
-- function body
END;
$$ LANGUAGE plpgsql;
Но это дает мне ошибку ERROR: default value for row or record variable is not supported
.Должен ли как-то это выяснить?