truncate table with foreign keys
Oracle 12c introduced TRUNCATE ... CASCADE:

TRUNCATE TABLE


  CASCADE
  
  If you specify CASCADE, then Oracle Database truncates all child
  tables that reference table with an enabled ON DELETE CASCADE
  referential constraint. This is a recursive operation that will
  truncate all child tables, granchild tables, and so on, using the
  specified options.


Keep in mind you need the constraints set to ON DELETE CASCADE for this to work.

In versions below 12c, yes, you can loop through, or instead of TRUNCATE, you can use DELETE, with ON DELETE CASCADE, which will take a lot longer.