CREATE PROCEDURE Sp_Sort_Add
@SortName varchar(50),
@KeyID int,
@Message varchar(50)
OUTPUT
AS
IF (@KeyID=0)
INSERT INTO Sort (RootID,Deep,OrderNum,SortName) VALUES(0,0,0,@SortName)
ELSE
BEGIN
DECLARE @RootID int,@ID int,@Deep int,@BegNum float,@EndNum float,@OrderNum float
SELECT @RootID=0,@ID=0,@Deep=0,@BegNum=0,@EndNum=0,@OrderNum=0
SELECT @RootID=RootID,@ID=ID,@BegNum=OrderNum,@Deep=Deep FROM Sort WHERE ID=@KeyID
IF (@ID=0)
BEGIN
SELECT @Message='无此父级分类!'
RETURN
END
ELSE
BEGIN
IF (@RootID=0) SELECT @RootID=@ID
SELECT @EndNum=OrderNum where RootID=@RootID AND OrderNum>@BegNum ORDER BY OrderNum
IF (@EndNum=0)
SELECT @OrderNum=@BegNum+65536
ELSE
SELECT @OrderNum=(@BegNum+@EndNum)/2
INSERT INTO Sort (RootID,Deep,OrderNum,SortName) VALUES(@RootID,@Deep+1,@OrderNum,@SortName)
END
END
Select @Message='成功'
RETURN
@SortName varchar(50),
@KeyID int,
@Message varchar(50)
OUTPUT
AS
IF (@KeyID=0)
INSERT INTO Sort (RootID,Deep,OrderNum,SortName) VALUES(0,0,0,@SortName)
ELSE
BEGIN
DECLARE @RootID int,@ID int,@Deep int,@BegNum float,@EndNum float,@OrderNum float
SELECT @RootID=0,@ID=0,@Deep=0,@BegNum=0,@EndNum=0,@OrderNum=0
SELECT @RootID=RootID,@ID=ID,@BegNum=OrderNum,@Deep=Deep FROM Sort WHERE ID=@KeyID
IF (@ID=0)
BEGIN
SELECT @Message='无此父级分类!'
RETURN
END
ELSE
BEGIN
IF (@RootID=0) SELECT @RootID=@ID
SELECT @EndNum=OrderNum where RootID=@RootID AND OrderNum>@BegNum ORDER BY OrderNum
IF (@EndNum=0)
SELECT @OrderNum=@BegNum+65536
ELSE
SELECT @OrderNum=(@BegNum+@EndNum)/2
INSERT INTO Sort (RootID,Deep,OrderNum,SortName) VALUES(@RootID,@Deep+1,@OrderNum,@SortName)
END
END
Select @Message='成功'
RETURN
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货