Почему бы просто не использовать синтаксис CTAS?
SQLSTR :=
'create temp table FilterTable as select col1,col2 from '
|| quote_ident(_param1 || '_' || _param2)
||' where col1 like ''%' || _param3 || '''';
Обратите внимание, что я также добавил отсутствующую закрывающую кавычку в конце оператора и использовал quote_ident()
в качестве имени таблицы, если оно содержит специальные символы.