我想级联此查询。
SELECT 'TRUNCATE TABLE ' || tablename || ';' FROM pg_tables WHERE tableowner='XXX';
我想要所有者“xxx”的所有表被截断(这有效)但我想它也是级联的。我怎样才能让它级联?
答案 0 :(得分:1)
添加keyword CASCADE
之类的@clemens commented
但也要转义tablename
以避免SQL注入和其他错误。最优雅的是format()
:
SELECT format('TRUNCATE TABLE %I CASCADE;', tablename)
FROM pg_tables WHERE tableowner = 'XXX';