当前位置: 首页 > 面试题库 >

包含级别/距离列的闭包表INSERT语句

封瑞
2023-03-14
问题内容

我指的是Bill Karwin的演示文稿,以实现一个封闭表,这将有助于我管理层次结构。不幸的是,该演示文稿并未显示我如何插入/更新Level幻灯片67中提到的列;这将是非常有用的。我一直在想一想,但我无法提出我可以测试的具体内容。这是到目前为止我得到的:

create procedure USP_OrganizationUnitHierarchy_AddChild 
    @ParentId UNIQUEIDENTIFIER,
    @NewChildId UNIQUEIDENTIFIER
AS
BEGIN
    INSERT INTO [OrganizationUnitHierarchy]
    (
        [AncestorId],
        [DescendantId],
        [Level]
    )
    SELECT [AncestorId], @NewChildId, (here I need to get the count of ancestors that lead to the currently being selected ancestor through-out the tree)
    FROM [OrganizationUnitHierarchy]
    WHERE [DescendantId] = @ParentId
    UNION ALL SELECT @NewChildId, @NewChildId
END
go

我不确定该怎么做。有任何想法吗?


问题答案:

您知道对于Parent = self,您的Level = 0,并且当您从祖先复制路径时,您只是将Level增加1:

create procedure USP_OrganizationUnitHierarchy_AddChild 
    @ParentId UNIQUEIDENTIFIER,
    @NewChildId UNIQUEIDENTIFIER
AS
BEGIN
    INSERT INTO [OrganizationUnitHierarchy]
    (
        [AncestorId],
        [DescendantId],
        [Level]
    )
    SELECT [AncestorId], @NewChildId, [Level] + 1
    FROM [OrganizationUnitHierarchy]
    WHERE [DescendantId] = @ParentId
    UNION ALL
    SELECT @NewChildId, @NewChildId, 0
END


 类似资料:
  • 基本形式 闭包看起来像这样: let plus_one = |x: i32| x + 1; assert_eq!(2, plus_one(1)); 我们创建了一个绑定,plus_one,并把它赋予一个闭包。闭包的参数位于管道(|)之中,而闭包体是一个表达式,在这个例子中,x + 1。记住{}是一个表达式,所以我们也可以拥有包含多行的闭包: let plus_two = |x| { let

  • 有人能帮我解决这个问题吗 我应该用歌曲做一张专辑。专辑需要有一个名字,一个作者,一个流派和长度(所有歌曲长度的总和)。每首歌都需要有一个标题,一个时长,一个排版和估值(以1到5的分数表示)。这不是特别难做一个名单,但我想不出一个方法,使名单与有关专辑和歌曲的信息。如果有人能给我一个例子与一首歌我将非常感谢,如果不是代码应该足够。简短地说:我需要创建一个包含对象的列表,其中包含关于每个对象和列表的信

  • 这个问题是由打字错误或无法再复制的问题引起的。虽然这里可能有类似的问题,但这一问题的解决方式不太可能帮助未来的读者。 总结: 对于我的商务课程,我们必须开发产品和/或服务。我正试图为其他团队开发一个解决方案,帮助他们管理库存。我已经有一个用Python开发的程序了,但是,C使开发GUI变得更容易(谢谢你,Visual Studio)。我在列表方面有困难。 以前检查过的资源: 在C中创建列表列表#

  • 问题内容: 我看到人们正在使用另一个列表来查看列表中是否存在某项,但是有一种快速的方法吗?: 问题答案: 您可以使用以下语法: 同样,逆运算符: 它适用于列表,元组,集合和字典(检查键)。 请注意 ,这是列表和元组中的O(n)操作,而集合和字典中是O(1)操作。

  • 我有一个GeoPandas df: 看起来像: 如何将坐标列转换为LineString(无论元组列表中有多少个点)?例如。: 编辑:我试过(见Prateek的回答): 以及: 两者都返回以下错误: 属性错误回溯(上次调用)~/opt/anaconda3/lib/python3.8/site-packages/shapely/speedups//u speedups.pyx in shapely.s

  • 我有一张这样的桌子 https://i.stack.imgur.com/ON3JL.png 这是此表的实体类 我正在使用spring rest和spring数据(jpaRepositories)构建RESTful API, 我希望在将控制器中的主要类别打印为JSON响应时,我希望它们也有一个子类别列表 到这个