假设使用下面的函数,我需要调试EXECUTE
语句中执行的内容。USING
(现实中提供动态变量的长动态语句)
CREATE OR REPLACE FUNCTION fn() RETURNS integer LANGUAGE 'plpgsql'
AS $$
BEGIN
EXECUTE $x$
SELECT $1, $2, $3
$x$ USING 1, '2020-01-01'::date, NULL::date;
RETURN 0;
END;
$$;
似乎在这种情况下,您能做的最好的事情就是取回字符串SELECT $1, $2, $3
。有没有办法打印/提高SELECT 1, '2020-01-01'::date, NULL::date
?
(我会想象类似的东西format('%1$s', 'xyz')
?)