我将更新PostgreSQL数据库中的多个表。他们都有相似的名字。 例如:
usa-al_nt_2016_q3_a_2-8-1b1
usa-ak_nt_2016_q3_a_2-8-1b1
usa-al_nt_2016_q3_a_2-8-1b1
如何使用此结构更新我的数据库中的所有这些表 usa -..._ nt_2016_q3_a_2-8-1b1 ?
答案 0 :(得分:0)
您应该使用动态更新创建循环调用execute
函数的过程。
for .... loop
execute 'UPDATE ' || your_table || ' SET name = ' || your_name || ' WHERE id = ' || your_id;
end loop;
编辑,显示:
declare
rec record;
begin
for rec in (select table_name from information_schema.tables where position('usa-' in table_name) = 1 and table_name like '%_2016_q3_a_2-8-1b1') loop
execute 'UPDATE ' || rec.table_name || ' SET name = ' || your_name || ' WHERE id = ' || your_id;
end loop;