如何在 postgresql 的循环中打印值?

How to print values inside a loop in postgresql?

这个问题似乎是 How to print values in the loop 的重复问题。尽管特定的 link 包含一个很好的解决方案,但似乎对我不起作用。这是我编写的存储过程的核心部分。

BEGIN 
FOR i IN 1..10 LOOP
    RAISE NOTICE 'i is %',i;
END LOOP;
RETURN; 
END; 

在执行程序时,我得到的结果总是

No rows found.

Total runtime: 1.787 ms

SQL executed.

谁能告诉我如何打印 i 的值?我使用的 postgresql 版本是 8.4。非常感谢任何帮助。

代码看起来不错。有几种可能性:

  • 您的客户端未正确显示异步消息
  • 你的 client_min_messages 高于 notice- 可以通过命令更改:

    SET client_min_messages TO notice;
    

  • 您看错了 window - 服务器消息通常显示在 window 以外的结果中。在 pgAdmin 中,您必须选择一个选项卡 Messages