zoukankan      html  css  js  c++  java
  • 查找指定节点的所有父节点的示例函数.sql

    CREATE FUNCTION f_Pid(@ID char(3))
    RETURNS @t_Level TABLE(ID char(3),Level int)
    AS
    BEGIN
        DECLARE @Level int
        SET @Level=1
        INSERT @t_Level SELECT @ID,@Level
        WHILE @@ROWCOUNT>0
        BEGIN
            SET @Level=@Level+1
            INSERT @t_Level SELECT a.PID,@Level
            FROM tb a,@t_Level b
            WHERE a.ID=b.ID
                AND b.Level=@Level-1
        END
        RETURN
    END
    GO


    --上面的用户定义函数可以处理一个节点有多个父节点的情况,对于标准的树形数据而言,由于每个节点仅有一个父节点,所以也可以通过下面的用户定义函数实现查找标准树形数据的父节点。
    CREATE FUNCTION f_Pid(@ID char(3))
    RETURNS @t_Level TABLE(ID char(3))
    AS
    BEGIN
        INSERT @t_Level SELECT @ID
        SELECT @ID=PID FROM tb
        WHERE ID=@ID
            AND PID IS NOT NULL
        WHILE @@ROWCOUNT>0
        BEGIN
            INSERT @t_Level SELECT @ID
            SELECT @ID=PID FROM tb
            WHERE ID=@ID
                AND PID IS NOT NULL
        END
        RETURN
    END
  • 相关阅读:
    hdu 1164 Eddy's research I
    hdu 3794 Magic Coupon
    hdu 1460 完数
    hdu 1201 18岁生日
    求一组整数中所有素数之和
    备忘录
    c判断括弧是否匹配
    N!大整数阶乘问题
    计算一个人从出生到现在活了多少天
    java web.xml配置详解(转)
  • 原文地址:https://www.cnblogs.com/shihao/p/2526969.html
Copyright © 2011-2022 走看看