【发布时间】:2014-03-20 14:52:08
【问题描述】:
我想从很多模式中删除一组表。 我要删除表的所有模式都以“pm_”开头。 我想从所有以“pm_”开头的模式中删除这组表。
类似的东西:
DROP TABLE IF EXISTS pm_%.tableName CASCADE;
(其中 % 将是名称的延续)。
【问题讨论】:
标签: postgresql cascade sql-drop
我想从很多模式中删除一组表。 我要删除表的所有模式都以“pm_”开头。 我想从所有以“pm_”开头的模式中删除这组表。
类似的东西:
DROP TABLE IF EXISTS pm_%.tableName CASCADE;
(其中 % 将是名称的延续)。
【问题讨论】:
标签: postgresql cascade sql-drop
使用plpgsql,像这样:
do $$
declare schemaname text;
begin
for schemaname in select schema_name
from information_schema.schemata
where schema_name like 'pm\_%'
loop
execute 'drop table if exists ' || quote_ident(schemaname) || '.tablename';
end loop;
end $$;
【讨论】: