2017-12-24 35 views
0

이 쿼리를 계단식으로 배열하고 싶습니다.이 쿼리를 계단식으로 배열하십시오.

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

모든 테이블을 소유자 "xxx"가 잘린 (이 작동합니다)하지만 나는 또한 캐스케이드 싶습니다. 나는 그것을 계단식으로 만들 수 있을까?

+1

'선택'TRUNCATE TABLE '을 사용해 보셨습니까? tablename || '캐스케이드' FROM pg_tables where tableowner = 'XXX'; '? – clemens

답변

1

@clemens commented과 같은 keyword CASCADE을 추가하십시오.
또한 SQL 삽입 및 기타 오류를 피하려면 tablename을 이스케이프하십시오. 가장 우아하게 format() :

SELECT format('TRUNCATE TABLE %I CASCADE;', tablename) 
FROM pg_tables WHERE tableowner = 'XXX';