gpt4 book ai didi

sql - 如何在 SQL 中打印到控制台?

转载 作者:行者123 更新时间:2023-12-02 21:04:38 26 4
gpt4 key购买 nike

我正在使用 PostgreSQL 并且我想将消息打印到控制台。

如果我使用plpythonu,我会使用plpy.notice如果我使用plpgsql,我会使用raise notification

但是当函数是纯SQL时我该如何打印呢?使用 SELECT 'string' 对我没有帮助,因为它会在列中打印字符串,并且如果消息位于代码中间,则不会显示它。我想要类似 raise notification/plpy.noticeSQL

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命令。该命令将有效负载发送到 channel channel 有效负载可以是任何字符串。

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;

该消息还将包含一些有关其来源的信息。如果您确实只想要字符串(有效负载),那么您必须从完整字符串中解析它。

关于sql - 如何在 SQL 中打印到控制台?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31260497/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com