我正在使用PostgreSQL
And我想将消息打印到控制台。
如果我使用plpythonu
我使用plpy.notice
如果我使用plpgsql
我使用raise notice
但是当函数是纯函数时如何打印SQL
?使用对SELECT 'string'
我没有帮助,因为它在一列中打印字符串,并且如果消息位于代码的中间,则不会显示该消息。我想是这样raise notice
/plpy.notice
对SQL
。
CREATE OR REPLACE FUNCTION A()
RETURNS VOID AS
$BODY$
how do i print 'hello world' here?
$BODY$
LANGUAGE sql VOLATILE
如果这是plpgsql
我会做的:
CREATE OR REPLACE FUNCTION A()
RETURNS VOID AS
$BODY$
Raise Notice 'hello world'
$BODY$
LANGUAGE plpgsql VOLATILE
我正在寻找等效的 LANGUAGE SQL
在普通SQL中,有NOTIFY
命令。该命令将有效载荷发送到通道。所述信道和所述有效载荷可以是任意字符串。
CREATE OR REPLACE FUNCTION A() RETURNS void AS $BODY$
NOTIFY msg, 'hello world';
$BODY$ LANGUAGE sql;
接着:
LISTEN msg;
SELECT A();
Asynchronous notification "msg" with payload "hello world" received from server process with PID 3275.
UNLISTEN msg;
该消息还将包含有关其来源的一些信息。如果您确实只想要字符串(有效负载),则必须从完整字符串中解析出来。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句