在 PL/SQL 中创建某种类型的记录
我正在尝试在 PL/SQL 中编写某种递归函数。
问题是:
假设表 A 有行:
{B, C},
{C, D},
{C, F},
{D, E},
{E, F}
返回 B 直接和间接依赖的所有内容。
元组 {B, C} 意味着 B 依赖于 C,C 依赖于 D,依此类推。 当给定 B 时,该函数将返回一个游标或会产生以下结果的内容:{C, D, F, E} 请注意,简单的循环和仅打印值可能会产生重复的结果(在本例中为 E)。
我对 PL/SQL 相当陌生,我真的想不出一种方法来做到这一点。
预先感谢您的任何帮助!
I'm trying to write a recursive function of sorts in PL/SQL.
The problem is:
So say table A has rows:
{B, C},
{C, D},
{C, F},
{D, E},
{E, F}
Return everything that B is dependent on, directly and indirectly.
The tuple {B, C} implies that B is dependent on C, C is dependent on D and so on and so forth.
This function, when given B, would return a cursor or something that would yield: {C, D, F, E}
Notice that simple looping through and just printing values may yield duplicate results (in this case, E).
I'm rather new to PL/SQL and I can't really think of a way to do this.
Thanks in advance for any help!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
假设该表如下所示:
为什么不使用分层查询,例如:
此 SQL 未经测试,但它应该是正确方向的一个点;如果您需要的话,您的函数可以返回该光标,如果不需要,则返回一个值数组。
Assuming the table looks like this:
Why wouldn't you use a hierarchical query like:
This SQL's untested, but it should be a point in the right direction; your function could return that cursor if that's what you needed, or an array of values if not.