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;'塊中丟失了一個分號 –