Extraindo linhas de um banco de dados, incluindo linhas separadoras

Eu gostaria de gerar strings de inserção para uma linha no meu banco de dados Oracle, incluindo todas as suas linhas dependentes em outras tabelas (e suas linhas dependentes).

Exemplo:

CREATE TABLE a (
  a_id number PRIMARY KEY,
  name varchar2(100)
);
CREATE TABLE b (
  b_id number PRIMARY KEY,
  a_id number REFERENCES a(a_id)
);

Quando eu extraio a linha de a com a_id = 1, o resultado deve ser uma string de inserção para essa linha e linhas dependentes:

INSERT INTO a(a_id, name) VALUES (1, 'foo');
INSERT INTO b(b_id, a_id) VALUES (1, 1);
INSERT INTO b(b_id, a_id) VALUES (2, 1);
INSERT INTO b(b_id, a_id) VALUES (3, 1);

A razão pela qual eu quero fazer isso é que tenho um banco de dados grande com muitas tabelas e restrições diferentes entre elas e gostaria de extrair um pequeno subconjunto dos dados como dados de teste.