如何在数据库中选择多个列?

时间:2017-03-17 09:05:29

标签: sql postgresql sql-update

我将更新PostgreSQL数据库中的多个表。他们都有相似的名字。 例如:

  1. usa-al_nt_2016_q3_a_2-8-1b1

  2. usa-ak_nt_2016_q3_a_2-8-1b1

  3. usa-al_nt_2016_q3_a_2-8-1b1

  4. 如何使用此结构更新我的数据库中的所有这些表 usa -..._ nt_2016_q3_a_2-8-1b1

1 个答案:

答案 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;