CREATE FUNCTION [dbo].[GetJieOrderID] (@ShuID Int,@ParentID Int,@JieOrder Int)
RETURNS Int AS
BEGIN
DECLARE @MaxID Int,@OrderID Int,@LocaID Int
IF @JieOrder = 0
BEGIN
--默认查入到最后
DECLARE MaxOrderID CURSOR FOR
Select Top 1 OrderID As aaa from TBZJ where ShuID= @ShuID and (ParentID=@ParentID or JieID=@ParentID) Order by OrderID Desc
Open MaxOrderID
FETCH NEXT FROM MaxOrderID INTO @MaxID
IF @@FETCH_STATUS = -1
BEGIN
Set @OrderID = 1
END
ELSE
BEGIN
Set @OrderID = @MaxID + 1
END
CLOSE MaxOrderID
DEALLOCATE MaxOrderID
END
ELSE
BEGIN
--插入到执行位置
DECLARE JieLocaID CURSOR FOR
Select OrderID from TBZJ where JieID=@JieOrder
OPEN JieLocaID
FETCH NEXT FROM JieLocaID INTO @LocaID
SET @OrderID = @LocaID
CLOSE JieLocaID
DEALLOCATE JieLocaID
UPDATE TBZJ SET OrderID = OrderID+1
WHERE ShuID = @ShuID and ParentID=@ParentID and OrderID >= @OrderID