?可以傳表名么?
Create FUNCTION [dbo].[RecursionChildList]--創(chuàng)建一個(gè)遞歸父子表結(jié)構(gòu)為(ID,NAME,PID)的函數(shù)( @PID int,--傳入父級(jí)ID @TableName varchar(50),--傳入查詢表名稱 @IsShowParent bit --是否插入父級(jí))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 --插入當(dāng)前級(jí)別 END INSERT INTO @T SELECT ID,NAME,PARENTID,@INDEX FROM @TableName WHERE PARENTID=@PID--插入PID下一級(jí)的數(shù)據(jù) ---如果本級(jí) 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
服務(wù)器: 消息 137,級(jí)別 15,狀態(tài) 2,過程 RecursionChildList,行 16必須聲明變量 '@TableName'。服務(wù)器: 消息 137,級(jí)別 15,狀態(tài) 1,過程 RecursionChildList,行 19必須聲明變量 '@TableName'。服務(wù)器: 消息 137,級(jí)別 15,狀態(tài) 1,過程 RecursionChildList,行 25必須聲明變量 '@TableName'。
求解決
sql 自定義函數(shù)傳參
紅糖糍粑
2018-12-07 05:27:25