[英]Truncate all tables in Postgres with a suffix
我有一组后缀_ABC
的表
表名如下:
TEST_ABC
MYTB_ABC
AB_1_ER_ABC
我知道我可以做到:
TRUNCATE TABLE TEST_ABC;
但我不想运行这 100 次。
我有100个。 有没有办法使用普通 SQL(只有 1 个查询)来截断后缀为 _ABC 的表?
为此,您需要动态 SQL。 这可以通过匿名 PL/pgSQL 块来完成:
do
$$
declare
l_sql text;
begin
select 'truncate '||string_agg(tablename, ',')||' cascade'
into l_sql
from pg_tables
where tablename like '%\_abc' escape '\'
and schemaname = 'public';
execute l_sql;
end;
$$
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.