阅读背景:

sql server 树状结构表中,获取指定节点的所有父节点路径

来源:互联网 

CREATE PROCEDURE [dbo].[A_P_GetParentIds]
    (
      @IdValue NVARCHAR(36) ,-- 子节点值
      @tableName NVARCHAR(MAX) ,-- 表名
      @ParentIdColumnName NVARCHAR(MAX) ,-- 父节点列名
      @ChildIdColumnName NVARCHAR(MAX)-- 子节点列名
	)
AS
    DECLARE @sqlTemp NVARCHAR(MAX); --查询sql
    SET @sqlTemp = " with cte_root as
(
 select " + @ParentIdColumnName + " from " + @tableName + " where "
        + @ChildIdColumnName + " = """ + @IdValue + """ union all
  select a." + @ParentIdColumnName + " from " + @tableName
        + " a inner join cte_root b on a." + @ChildIdColumnName + "=b."
        + @ParentIdColumnName + " ) " + CHAR(10) + "select * from cte_root "; 

------返回查询成果-----
    EXEC sp_executesql @sqlTemp;


GOCREATE PROCEDURE [dbo].[A_P_GetParentIds]
    (
  




你的当前访问异常,请进行认证后继续阅读剩余内容。

分享到: