PostgreSQL:队列中的多个PERFORM

时间:2017-10-31 17:36:32

标签: postgresql

我的数据库中有30个函数,我需要逐个执行它们并且它们都是链接的。

我怎么能说函数x需要等待函数x-1的执行才能启动?

我有所有PERFORM这样的行:

  PERFORM func1();
  PERFORM func2();
  PERFORM funcx();
  ....

我想'告知'func2等到func1()完成。

我可以创建一个带有增量的表,当每个函数完成时,我更新值并在我的main函数中添加一个while循环,当值改变时,执行不同的函数。 这是一个想法,而不是理想的解决方案。

此致

1 个答案:

答案 0 :(得分:0)

因此执行它们,这是示例:

so=# do $$
begin
perform pg_sleep(0.4);
raise info '%',clock_timestamp();
perform now();
raise info '%','2nd: '||clock_timestamp();
end; $$
;
INFO:  2017-10-31 20:13:03.105867+00
INFO:  2nd: 2017-10-31 20:13:03.106168+00
DO
Time: 402.273 ms

当你看到第二次表演(花费少于0.4秒)等待首先完成......