我的数据库中的每个表(请参阅架构)都有一个名为id
.
我想在所有表中找到 id 在 [1,1000] 范围内的所有记录。我该如何编写这样的查询?
FOR T IN (
SELECT TABLE_NAME FROM information_schema. TABLES
WHERE table_schema = 'public'
)
LOOP
SELECT id, T FROM T WHERE ID BETWEEN 1 AND 1000;
RETURN NEXT T;
END LOOP ;
但得到“FOR 的语法错误”。
您可以很容易地在一条语句中完成所有这些操作。
这将生成一条语句。在
psql
中,就\gexec
在那之后运行。