Самый простой способ интерполировать идентификатор в строку - это использовать format
со спецификатором %I
:
query1 := format('SELECT * FROM %I', hold_tablename);
Это позаботится о правильном цитировании hold_tablename
, если оно чувствительно к регистру или содержит пробелы или другие проблемные символы.
В качестве альтернативы вы можете использовать quote_ident
и конкатенацию строк:
query1 := 'SELECT * FROM ' || quote_ident(hold_tablename);
но format
менее шумный.