我在 Oracle 中有一个表,其中包含一些任务及其相关任务。一些示例数据。
依赖任务 | 任务 |
---|---|
任务3 | 任务2 |
任务1 | 任务5 |
任务2 | 任务5 |
任务4 | 任务3 |
从属任务必须始终在任务之前完成 我想生成上述任务的顺序,如下所示,这是任务执行的正确顺序:
所有任务已订购 |
---|
任务1 |
任务2 |
任务5 |
任务4 |
任务3 |
请问您能提供实现此目标的方法吗?我想我必须使用 CONNECT BY 子句,但我不知道如何做到这一点。 预先感谢。
您提供的样本数据不明确,与您期望或指定的结果不符。
一般来说,该子句:
CONNECT BY PRIOR Task = DependentTask
ORDER SIBLINGS BY Task;
原则上是正确的,但考虑到上述问题,不确定它是否适合您的特定场景。