eval for SQL
postgresならできます
CREATE FUNCTION eval(sql Text) RETURNS SETOF Record AS $$
BEGIN
RETURN QUERY EXECUTE sql;
RETURN;
END;
$$ LANGUAGE plpgsql;
使用例
SELECT * FROM eval('SELECT * FROM( VALUES (1,''a''), (3,''b'') ) AS t') AS (i Int, c Text);
DROP FUNCTION
CREATE FUNCTION
i | c
---+---
1 | a
3 | b
(2 rows)
SQLをテーブルに入れているみなさんもこれで安心ですね