这段程序哪里有错,应怎么改
ALTER PROCEDURE dbo.sp_GetArtHierarchicalCategories
(@categoryID int)
AS
SET NOCOUNT ON
DECLARE @curID int,@curName varchar(50),@lvl int,@tmpName varchar(100),@parentID int
CREATE TABLE #stack([ID] int,THENAME varchar(50),PARENTID int,LVL int)
CREATE TABLE #RESULT([ID] int,THENAME varchar(50),PARENTID int)
IF @categoryID!=-1
BEGIN
INSERT #stack
SELECT [ID],THENAME,PARENTID,1
FROM ARTCATEGORIES
WHERE ID=@categoryID
END
ELSE
BEGIN
INSERT #stack
SELECT [ID],THENAME,PARENTID,1
FROM ARTCATEGORIES
WHERE PARENTID IS NULL
ORDER BY [ID] DESC
END
SELECT @lvl=1
WHILE @lvl>0
BEGIN
IF EXISTS (SELECT * FROM #stack WHERE LVL=@lvl)
BEGIN
SELECT @curID=[ID],@curName=THENAME,
@parentID=PARENTID
FROM #stack
WHERE LVL=@lvl
SELECT @tmpName=REPLICATE('.',(@lvl-1)*4+@curName
INSERT INTO #RESULT
VALUES(@curID,@tmpName,@parentID)
DELETE FROM #stack WHERE LVL=@lvl AND [ID]=@curID
INSERT #stack
SELECT [ID],THENAME,PARENTID,@lvl+1
FROM ARTCATEGORIES
WHERE PARENTID=@curID
ORDER BY [ID] DESC
IF @@ROWCOUNT>0
SELECT @lvl=@lvl+1
END --IF
ELSE
SELECT @lvl=@lvl-1
END --WHILE
SELECT * FROM #RESULT
服务器: 消息 156,级别 15,状态 1,过程 sp_GetArtHierarchicalCategories,行 34
在关键字 'INSERT' 附近有语法错误。