【问题标题】:Postgres sql to print a variable in loop cyclePostgres sql在循环周期中打印变量
【发布时间】:2016-10-20 17:11:59
【问题描述】:

我需要在循环循环中打印变量 i。 我使用以下功能:

csstress=>
csstress=> CREATE OR REPLACE FUNCTION "mgtest" () RETURNS integer AS
csstress-> $BODY$
csstress$> DECLARE
csstress$> i integer;
csstress$> BEGIN
csstress$> i := 0;
csstress$> FOR i IN 1..4 LOOP
csstress$> RAISE NOTICE 'Calling cs_create_job(%)', i;
csstress$> return i;
csstress$> END LOOP;
csstress$> END;
csstress$> $BODY$
csstress-> LANGUAGE 'plpgsql';
CREATE FUNCTION
csstress=>

但当我调用该函数时,它只打印一个,即第一个值

csstress=>
csstress=> select mgtest();
NOTICE:  Calling cs_create_job(1)
 mgtest
--------
      1
(1 row)

csstress=>

我做错了什么?如何强制函数打印类似

的内容
1
2
3
4

【问题讨论】:

标签: postgresql function printing


【解决方案1】:

我在这里引用 wildplasser 对实际解决此问题的问题的评论。

不要把 return i;循环内。见this返回 集和行集。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-04-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-13
    • 2019-10-14
    相关资源
    最近更新 更多