Tenho no campo cod_categorizacao_pai o ID do pai, e preciso montar um select que basta digitar um ID e ele listará os IDs paternos desse ID até chegar no pai de todos. Como faço para definir um select para fazer isso? Vou precisar de um procedimento? Estou usando PL/SQL.
A mesa:
CREATE TABLE [dbo].[menu]
(
id INT PRIMARY KEY
, name NVARCHAR(20)
, parent_id INT REFERENCES [dbo].[menu] ([id])
);
Suponha que eu esteja usando os registros abaixo:
INSERT INTO menu VALUES (1,'Main Product',NULL);
INSERT INTO menu VALUES (2,'Next Main Product',NULL);
INSERT INTO menu VALUES (3,'Addon Product',1);
INSERT INTO menu VALUES (4,'Addon Product',1);
INSERT INTO menu VALUES (5,'Sub-Addon Product',3);
INSERT INTO menu VALUES (6,'Sub-sub-Addon Product',5);
INSERT INTO menu VALUES (7,'Addon Next Main Product',2);
Eu gostaria de ter a seguinte lista se eu passasse o ID '6' como parâmetro: 1,3,5,6
Essa não é a sintaxe do Oracle. Abaixo está a sintaxe do Oracle: