是否可以使用通配符截断和级联表格?
SELECT format('TRUNCATE TABLE %I CASCADE;', tablename)
FROM pg_tables WHERE tableowner = 'XXX';
发布于 2017-12-25 04:30:51
如果您将其包装在匿名代码块中并添加一个循环,则可以:
do $$
declare
tr pg_tables%rowtype;
begin
for tr in
select * from pg_tables WHERE tableowner = 'XXX';
loop
execute format('TRUNCATE TABLE %I.%I CASCADE;', tr.schemaname, tr.tablename);
end loop;
end;
$$;
另外(如上所述),我会添加模式名称,以避免任何潜在的意外后果。
https://stackoverflow.com/questions/47963266
复制相似问题