【发布时间】:2011-04-02 13:38:17
【问题描述】:
在回答了上一个问题 (request over several schema) 之后,我尝试编写一个存储过程来为多个模式选择表(每个用户都有一个模式)。
create or replace public.select_simulations() returns setof simulation as $$
declare
users pg_user%ROWTYPE;
simu simulation%ROWTYPE;
begin
for users in select usename from pg_user where usename <> 'postgres' loop
for simu in select id, name from (users.usename).simulation loop
return next simu;
end loop;
end loop;
end;
$$
但它不接受(users.usename).simulation,并且没有括号会产生错误(似乎搜索子字段,而不是架构)...
那么,告诉users.usename 是模式名称的正确语法是什么?
感谢您的帮助!
【问题讨论】:
-
我用的是 PostgreSQL 8.1,也许是它的问题...
-
8.1版本今年将停止服务,您最好升级到新版本。自 2005 年 11 月以来,PostgreSQL 也变得更好了,只需要很短的时间来为这个过时的旧版本做点什么。 wiki.postgresql.org/wiki/PostgreSQL_Release_Support_Policy
-
感谢您的建议,我升级到 8.4。
-
发布政策已移至官网:postgresql.org/support/versioning
标签: postgresql stored-procedures schema