ALTER FUNCTION [dbo].[Fn_GetChildrenCode]
(
@ParentCode NVARCHAR(50) -- 父级code代码
)
RETURNS VARCHAR(max)--下级json
AS
BEGIN
DECLARE @ReturnJson [varchar] (max)
SET @ReturnJson = '['
DECLARE @CS_Code NVARCHAR(50)--code
DECLARE @CS_Name NVARCHAR(400)--小分类名称
--开始游标code
DECLARE curCode CURSOR FOR SELECT Name,Code FROM 表名 WHERE PCode = @ParentCode
OPEN curCode
FETCH NEXT FROM curCode INTO @CS_Name,@CS_Code
WHILE ( @@FETCH_STATUS <> -1 )
BEGIN
SET @ReturnJson = @ReturnJson + '{"value":"' + @CS_Code + '","label":"' + @CS_Name + '","children":' + dbo.Fn_GetChildrenCode(@CS_Code) + '},'
FETCH NEXT FROM curCode INTO @CS_Name,@CS_Code
END
IF substring(@ReturnJson,len(@ReturnJson),1) = ','
SET @ReturnJson = left(@ReturnJson,len(@ReturnJson)-1)
SET @ReturnJson = @ReturnJson + ']'
CLOSE curCode;
DEALLOCATE curCode;
--结束游标code
RETURN @ReturnJson
END