从头开始递归添加数据

问题描述 投票:0回答:0

假设我有一个看起来像这样的表(例如使用 C#):

public class Table {
    public Guid Id {get; set;}
    public string Name {get; set;}
    public Guid ParentId {get; set;}
}

这是一个递归表,其中行可以在同一个表中具有链接的父级。

假设我从头开始(即没有数据可供从其他表中选择),通过 TSQL 插入深度为 X 的新行的最佳方法是什么?

假设我希望数据看起来像这样:

此脚本的目的是进行负载测试 - 因此我没有任何可以选择的数据。数据会不断地被添加、删除和再次添加。我发现的大部分内容要么是 SELECT CTE,要么是 SELECT 之后插入。

我确信另一种选择是编写一个控制台应用程序来为我执行此操作(诚然,我的 SQL 游戏不是那么好),但我想看看是否有办法在 SQL 中执行此操作。

sql sql-server tsql common-table-expression
© www.soinside.com 2019 - 2024. All rights reserved.