我需要写一个存储过程,将在一个字符串搜索的树形结构和执行递归结果集。首先,这里是表:存储过程从树结构构建结果集?
CREATE TABLE [dbo].[WorkAreas] (
[Id] uniqueidentifier DEFAULT newid() NOT NULL,
[Name] nvarchar(max) COLLATE Latin1_General_CI_AS NULL,
[ParentWorkAreaId] uniqueidentifier NULL,
CONSTRAINT [PK__WorkArea__3214EC073FD07829] PRIMARY KEY CLUSTERED ([Id]),
CONSTRAINT [WorkArea_ParentWorkArea] FOREIGN KEY ([ParentWorkAreaId])
REFERENCES [dbo].[WorkAreas] ([Id])
ON UPDATE NO ACTION
ON DELETE NO ACTION,
)
我想存储过程的输出结果是这样的:
Work Area 1 - Child Of Work Area 1 - Child Child Of Work Area 1
因此,如果这是真实的数据,可能是这样的:
Top Floor - Room 7 - Left Wall
Top Floor - Room 9 - Ceiling
存储过程将需要在一个参数:@SearchTerm VARCHAR(255)
搜索条件将查看结果并执行“包含”查询。
因此,如果我们在“9房间”,通过了结果应该拿出室9例如,或者如果获得通过,在短短的一句话“房间”,我们会看到两个结果。
我不知道如何构建SP递归构建的结果。
看一看这几乎相同的问题:http://stackoverflow.com/questions/4032192/printing-tree- with-sql-cte –
完美谢谢! – DDiVita