Мы просто отошли от Oracle, но я написал эту процедуру для вас в SQL Server (они должны быть очень похожими за исключением объявлений CURSOR).
CREATE PROCEDURE ShowRelationships
@parent AS int
AS
PRINT 'Parent = ' + CAST(@parent AS varchar(3))
DECLARE @child AS int;
DECLARE cur_children CURSOR
FOR
SELECT child
FROM PCREL
WHERE parent = @parent;
OPEN cur_children;
FETCH NEXT FROM cur_children INTO @child;
IF (@child IS NULL)
BEGIN
PRINT CAST(@parent AS varchar(3)) + ' has no children...';
END
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT 'Child = ' + CAST(@child AS varchar(3))
FETCH NEXT FROM cur_children INTO @child;
END
CLOSE cur_children;
DEALLOCATE cur_children;
SELECT TOP 1 @child = child
FROM PCREL
WHERE parent = @parent;
EXECUTE ShowRelationships @child;
GO
Что ваша проблема: как сделать иерархический запрос, как отформатировать его как .CSV файл или оба? – APC