Спецификатор формата для целочисленных переменных в format () для EXECUTE?
CREATE OR REPLACE FUNCTION getParentLtree(parent_id bigint, tbl_name varchar)
RETURNS ltree AS
$BODY$
DECLARE
parent_ltree ltree;
BEGIN
-- This works fine:
-- select into parent_ltree l_tree from tbl1 where id = parent_id;
EXECUTE format('select into parent_ltree l_tree from %I
where id = %I', tbl_name,parent_id);
RETURN parent_ltree;
END;
$BODY$ LANGUAGE plpgsql;
Есть две проблемы в вышеупомянутой функции:
parent_id
являетсяinteger
но он заменен на кавычки? Какой правильный формат формата дляint
переменные?select into
не работает сEXECUTE
? Как я могу сделать выше комментируемый запрос, чтобы использовать переданное имя таблицы?