Задавать функции прямо в SQL — это здорово. Но что делать, если хочется динамически составить SQL-запрос и выполнить его?
Поможет функция
eval():> select eval('select 10 + 32');
42Можно выполнять любые DDL и DML запросы:
select eval('create table tmp(value int)');
select eval('insert into tmp(value) values (1), (2), (3)');
select eval('select value from tmp');
select eval('drop table tmp');Функция входит в расширение define.