我在一个 psql 数据库中工作,我想让一些东西在一夜之间运行。
我有一个这样调用的函数:
select func_name(21);
这个函数是事务化的,一旦运行,就会插入到数据库中。
然后我想再次运行相同的函数(它有高水位标记,所以它会知道从哪里开始):
select func_name(21);
假设我想运行 10 次 - 这可能吗?
我曾考虑使用 \gexec
之类的东西,但不确定如何使其发挥作用。
我可以获得以下信息:
select format('select func_name(%s)',id) from table where id = '21';
format
--------------------------------------------
select func_name(21)
(1 row)
我知道如果我使用 \gexec
执行它,它会运行一次,但有没有办法让它运行十次而不在另一个函数中使用循环?
答案 0 :(得分:0)
这正是我要找的:
format
--------------------------------------------
select func_name(21)
select func_name(21)
select func_name(21)
select func_name(21)
select func_name(21)
select func_name(21)
select func_name(21)
select func_name(21)
select func_name(21)
select func_name(21)
从这里,我可以运行 \gexec
命令