O roteiro é:
CREATE TABLE t_PRODUTOS ( id integer, CONSTRAINT pk_tPRODUTOS PRIMARY KEY (id) ); INSERT INTO T_PRODUTOS(ID) SELECT ID FROM PRODUTOS WHERE TIPO_PRODUTO_ID=16301; delete from custos_produtos; delete from movimentos_estoques; delete from historicos_produtos h where not exists (select 1 from t_produtos where id=h.produto_id); delete from alteracoes_itens_colecoes; delete from itens_colecoes; delete from importacoes_nfe_entrada; delete from operacoes_fiscais_itens_documento; delete from itens_doc_entradas_saidas; delete from pedidos_titulos; delete from operacoes_fiscais_documentos; delete from doc_entradas_saidas; delete from itens_pedidos; delete from anexos_pedidos; delete from modos_pagamentos; delete from historicos_pedidos; delete from pedidos_financeiros; delete from pedidos; delete from estoques_produtos; delete from saldos_mensais_est_prod; delete from similaridades_produto; delete from codigos_barras; delete from arquivos_anexos_produtos; delete from AP_TRIB_PROPRIOS_AJUSTES_DOCUMENTOS; delete from COLABORADORES; delete from COMPONENTES_PRODUTOS; delete from CONTRATOS_SERVICOS; delete from CONTRATOS_SERVICOS_PRODUTOS; delete from COTISTAS_PRODUTO; delete from EQUIPAMENTOS_VEICULOS; delete from ESTOQUES_PRODUTOS; delete from ESTOQUES_PRODUTOS_SALDOS; delete from EVENTOS_ARQUIVOS_EXPORTACOES; delete from GARANTIAS; delete from HISTORICOS_PEDIDOS; delete from ITENS_ACERVO; delete from ITENS_CARREGAMENTOS; delete from ITENS_COTACOES_PRODUTOS_COMPRA; delete from ITENS_DOC_ENTRADAS_SAIDAS; delete from ITENS_ORDENS_SERVICO; delete from ITENS_PEDIDOS; delete from MODELOS_FATURAMENTOS_PEDIDOS_ITENS; delete from MOVIMENTOS_ESTOQUES; delete from MOVIMENTOS_PRODUTOS_COTISTAS; delete from OPERACOES_TITULOS; delete from PRODUTOS_CONTADOS; delete from PRODUTOS_CUSTOS_ESTABELECIMENTOS; delete from RECURSOS_ATIVIDADES; delete from REGRAS_COMISSIONAMENTO where produto_id is not null; delete from RESULTADOS_CONTAGENS; delete from RESUMO_DIVISAO_COTAS; delete from SALDOS_DIARIOS_ESTOQUES; delete from SALDOS_MENSAIS_EST_PROD; delete from SESSOES_SALAS_CINEMAS; delete from TIPOS_ATIVIDADES where produto_id is not null; delete from UNIDADES_PRODUTOS_DOC; delete from VEICULOS_CONTRATO; delete from ARQUIVOS_ANEXOS_PRODUTOS; delete from CARACTERISTICAS_PRODUTOS; delete from CODIGOS_BARRAS; delete from COMPONENTES_PRODUTOS; delete from CONFIGURACOES_PRODUTOS; delete from COTISTAS_PRODUTO; delete from CUSTOS_PRODUTOS; delete from ENDERECOS_PRODUTOS; delete from ETIQUETAS; delete from GARANTIAS_PRODUTOS; delete from HISTORICOS_PRODUTOS; delete from ITENS_COLECOES; delete from PRODUTO_METRICAS; delete from PRODUTOS_RELACIONADOS; delete from PRODUTOS_SERVICOS_ATIVIDADES; delete from PRODUTOS_VH; delete from REFERENCIAS_PRODUTOS_PESSOAS; delete from SIMILARIDADES_PRODUTO; delete from TAGS_PRODUTOS; delete from TRIBUTACOES_PRODUTOS where produto_id is not null; -- delete from produtos where id > 19000; delete from produtos p where not exists (select 1 from t_produtos where id=p.id); CREATE TABLE t_pessoas ( id integer, CONSTRAINT pk_tpessoas PRIMARY KEY (id) ) ; insert into t_pessoas (id) select * from ( select estabelecimento_id as pessoa_id from estabelecimentos union select representante_legal_id as pessoa_id from estabelecimentos union select empresa_id as pessoa_id from empresas union select pessoa_id from usuarios union select banco_id from contas_correntes union select id from bancos ) q where pessoa_id is not null ; select * from t_pessoas; delete from pessoas_doc_entradas_saidas; delete from documentos_pessoas where pessoa_id not in (select id from t_pessoas); update pessoas set endereco_principal_id = null where id not in (select id from t_pessoas); delete from finalidades_enderecos where pessoa_id not in (select id from t_pessoas); delete from enderecos where pessoa_id not in (select id from t_pessoas); delete from enderecos where pessoa_id not in (select id from t_pessoas); delete from fornecedores where id not in (select id from t_pessoas); delete from lancamentos; delete from movimentos_financeiros; delete from titulos; delete from historicos_vendedores_cliente; delete from clientes where id not in (select id from t_pessoas); delete from proprietarios_veiculos; delete from ordens_servicos_veiculos; delete from veiculos; delete from categorias_pessoas where pessoa_id not in (select id from t_pessoas); delete from acessos_caixas p where pessoa_id not in (select id from t_pessoas); update clientes set vendedor_id = null where vendedor_id not in (select id from t_pessoas); delete from vendedores where id not in (select id from t_pessoas); delete from pessoas p where id not in (select id from t_pessoas);