2
我正在试图创建将在数据仓库中的每一个架构上创建表的索引功能创建索引。这是剧本我到目前为止:功能使用模式变量
create or replace function dwh.loan_type_id_indexing()
returns void language plpgsql AS
$PROC$
Declare
myschema varchar;
sql text;
Begin
for myschema in
SELECT nspname
FROM pg_catalog.pg_namespace
where nspname not in ('information_schema', 'pg_catalog', 'pg_temp_1',
'pg_temp_7', 'pg_toast', 'pg_toast_temp_1',
'pg_toast_temp_7','public', 'c1', 'dwh',
'users', 'c2'
)
order by nspname
loop
sql = 'CREATE INDEX '|| myschema || '_' ||'type_id ON '||
myschema || '.' ||'.fact_tbl USING btree (loan_type_id)';
execute sql;
end loop;
END
$PROC$
volatile;
我知道这是不是正确的,但它会给你什么,我试图做我的思维过程。
首先,这是一个好主意,用'quote_ident()''左右myschema',尽管在这种情况下,你可能知道的名字不需要引用。 –
另外,你在最后的'END;'块中丢失了一个分号 –