级联此查询

问题描述 投票:0回答:1

我想级联这个查询。

SELECT 'TRUNCATE TABLE ' ||  tablename || ';' FROM pg_tables WHERE tableowner='XXX'; 

我希望所有的表由所有者“xxx”截断(这是有效的)但我想它也级联。我怎样才能让它级联?

sql database postgresql truncate cascade
1个回答
1
投票

keyword CASCADE一样添加@clemens commented。 但也逃避tablename以避免SQL注入和其他错误。最优雅的format()

SELECT format('TRUNCATE TABLE %I CASCADE;', tablename)
FROM   pg_tables WHERE tableowner = 'XXX'; 
© www.soinside.com 2019 - 2024. All rights reserved.