我需要找到一种方法来转储 PL/pgSQL 函数输入参数的键/值对:
CREATE OR REPLACE FUNCTION _test(A text, B text)
...
raise info 'Params dump: %', _x;
...
执行时:
select _text('HELLO', 'WORLD');
该函数按如下方式引发信息:
'A = HELLO, B = WORLD'
有没有办法将输入参数键/值对转储到变量中?
最佳答案
如果你能使函数VARIADIC
成为可能具有统一的参数类型,并且可以打印数组。您不会获得参数名称,因为它们没有名称,但您确实可以获得参数位置。
否则不,它在 PL/PgSQL 中是不可能的,尽管它应该在其他 PL 中,如 PL/Perl、PL/Python 等。
如果能够获得一个包含所有函数参数的 RECORD
就太好了,这样您就可以打印它,将它提供给 hstore
扩展等,但这目前是不可能的。
关于function - Postgresql:将输入键/值对转储到 PL/pgSQL 中的字符串变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12311216/