可以传表名么?
Create FUNCTION [dbo].[RecursionChildList]--创建一个递归父子表结构为(ID,NAME,PID)的函数( @PID int,--传入父级ID @TableName varchar(50),--传入查询表名称 @IsShowParent bit --是否插入父级)RETURNS @T TABLE(ID VARCHAR(10),Name VARCHAR(50),PARENTID VARCHAR(10),LEVEL INT)ASBEGIN DECLARE @INDEX INT SET @INDEX=1 IF @IsShowParent=TRUE BEGIN INSERT INTO @T SELECT ID,NAME,PARENTID FROM @TableName WHERE ID=@PID --插入当前级别 END INSERT INTO @T SELECT ID,NAME,PARENTID,@INDEX FROM @TableName WHERE PARENTID=@PID--插入PID下一级的数据 ---如果本级 WHILE @@ROWCOUNT>0 BEGIN SET @INDEX=@INDEX+1 INSERT INTO @T SELECT T1.ID,T1.NAME,T1.PARENTID,@INDEX FROM @TableName T1,@T T2 WHERE T1.PARENTID=T2.ID AND T2.LEVEL=@INDEX-1 END RETURNEND
服务器: 消息 137,级别 15,状态 2,过程 RecursionChildList,行 16必须声明变量 '@TableName'。服务器: 消息 137,级别 15,状态 1,过程 RecursionChildList,行 19必须声明变量 '@TableName'。服务器: 消息 137,级别 15,状态 1,过程 RecursionChildList,行 25必须声明变量 '@TableName'。
求解决
- 3 回答
- 0 关注
- 986 浏览
添加回答
举报
0/150
提交
取消