在 Oracle 数据库中,我们经常使用 DBMS_OUTPUT.PUT_LINE 来输出信息,以期达到屏幕显示,或者程序跟踪等目的,在 openGauss 中,可以通过 raise notice 来实现,当然这也是 postgresql 的标准方法。

以下是两段小代码:
DO $$
BEGIN
FOR enmotech IN 1..8 BY 2 LOOP
RAISE NOTICE 'enmotech: %', enmotech;
END LOOP;
END; $$;
DO $$
DECLARE
output record;
BEGIN
RAISE NOTICE 'Start at: %', sysdate;
FOR output IN SELECT * FROM generate_series(1,10) LOOP
RAISE NOTICE 'Hello, Enmo';
END LOOP;
RAISE NOTICE 'Stop at: %', sysdate;
END; $$;
输出的效果如下:
opengauss=# DO $$
opengauss$# BEGIN
opengauss$# FOR enmotech IN 1..8 BY 2 LOOP
opengauss$# RAISE NOTICE 'enmotech: %', enmotech;
opengauss$# END LOOP;
opengauss$# END; $$;
NOTICE: enmotech: 1
NOTICE: enmotech: 3
NOTICE: enmotech: 5
NOTICE: enmotech: 7
ANONYMOUS BLOCK EXECUTE
通过 raise notice 输出时间:
opengauss=# DO $$
opengauss$# DECLARE
opengauss$# output record;
opengauss$# BEGIN
opengauss$# RAISE NOTICE 'Start at: %', sysdate;
opengauss$# FOR output IN SELECT * FROM generate_series(1,10) LOOP
opengauss$# RAISE NOTICE 'Hello, Enmo';
opengauss$# END LOOP;
opengauss$# RAISE NOTICE 'Stop at: %', sysdate;
opengauss$# END; $$;
NOTICE: Start at: 2020-06-02 13:59:55
NOTICE: Hello, Enmo
NOTICE: Hello, Enmo
NOTICE: Hello, Enmo
NOTICE: Hello, Enmo
NOTICE: Hello, Enmo
NOTICE: Hello, Enmo
NOTICE: Hello, Enmo
NOTICE: Hello, Enmo
NOTICE: Hello, Enmo
NOTICE: Hello, Enmo
NOTICE: Stop at: 2020-06-02 14:00:13
ANONYMOUS BLOCK EXECUTE
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




