【发布时间】: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
【问题讨论】:
-
不要把
return i;inside 循环。请参阅 postgresql.org/docs/9.4/static/… 以获取返回集和行集。 -
谢谢@wildplasser。你的帮助对我很有效。
标签: postgresql function printing