私は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
どのように私はこのような構造で、私のDB内のこれらのテーブルのすべてを更新することができますusa- .. ._nt_2016_q3_a_2-8-1b1?
私は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
どのように私はこのような構造で、私のDB内のこれらのテーブルのすべてを更新することができますusa- .. ._nt_2016_q3_a_2-8-1b1?
ループ内で動的更新で機能する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;
一つUPDATEを。しかし、質問には、むしろ、名前が似ている複数のテーブル(およびおそらくはコンテンツ)があるのはなぜですか? – jarlh