Pular para o conteúdo

Cebraspe · Tribunal de Justiça do Estado do Pará (TJPA) 2025

Questão 64 — Banco de Dados: SQL — Consultas Recursivas (WITH RECURSIVE)

Banco de Dados SQL — Consultas Recursivas (WITH RECURSIVE)

Cebraspe 2025

Tribunal de Justiça do Estado do Pará (TJPA) · Analista Judiciário – Especialidade: Análise de Suporte

Gabarito disponível

Texto-base:
CREATE TABLE processos (
idproc INT PRIMARY KEY,
descricao VARCHAR(50),
referencia INT REFERENCES processos(idproc)
);

INSERT INTO processos (idproc, descricao,
referencia) VALUES
(1, 'Gabinete', NULL),
(2, 'Processo A', 1),
(3, 'Processo B', 2),
(4, 'Recurso 1', 3);

Considerando que os comandos precedentes tenham sido executados no PostgreSQL 14, julgue o item subsequente.

Suponha que, no mesmo banco de dados e imediatamente após a execução dos comandos apresentados, tenha sido executado o código SQL a seguir.

WITH RECURSIVE processop AS (
SELECT idproc, descricao, referencia
FROM processos
WHERE referencia IS NOT NULL

UNION ALL

SELECT p.idproc, p.descricao, p.referencia
FROM processos p
INNER JOIN processop pp ON p.referencia =
pp.idproc
)
SELECT distinct
idproc,
descricao,
(SELECT descricao FROM processos WHERE
idproc = processop.referencia) AS
descricao_pai
FROM processop
ORDER BY idproc;

Nessa situação hipotética, após as referidas ações, será apresentado o resultado a seguir.

Tabela de resultado com as colunas idproc, descricao e descricao_pai e três linhas: 2, Processo A, Gabinete; 3, Processo B, Processo A; 4, Recurso 1, Processo B.
Selecione uma alternativa

Ver gabarito

Gabarito: Certo

Fonte: Gabarito preliminar: Gabarito oficial definitivo — Cargo 4