我想级联这个查询。
SELECT 'TRUNCATE TABLE ' || tablename || ';' FROM pg_tables WHERE tableowner='XXX';
我希望所有的表由所有者“xxx”截断(这是有效的)但我想它也级联。我怎样才能让它级联?
像keyword CASCADE
一样添加@clemens commented。
但也逃避tablename
以避免SQL注入和其他错误。最优雅的format()
:
SELECT format('TRUNCATE TABLE %I CASCADE;', tablename)
FROM pg_tables WHERE tableowner = 'XXX';