сохранить результат выполнения строки во временную таблицу - PullRequest
1 голос
/ 21 апреля 2020

Внутри функции я создал строку, содержащую запрос выбора, как

SQLSTR:='select col1,col2 from '||_param1||'_'||_param2||' where col1 like ''%'||_pram3;

. Я хочу сохранить результат SQLSTR во временной таблице как FilterTable, когда после запуска EXECUTE SQLSTR; команда.

1 Ответ

0 голосов
/ 21 апреля 2020

Почему бы просто не использовать синтаксис CTAS?

SQLSTR := 
    'create temp table FilterTable as select col1,col2 from '
        || quote_ident(_param1 || '_' || _param2) 
        ||' where col1 like ''%' || _param3 || '''';

Обратите внимание, что я также добавил отсутствующую закрывающую кавычку в конце оператора и использовал quote_ident() в качестве имени таблицы, если оно содержит специальные символы.

...