Sql server 2012 将作业AX转换为sql server函数查询

Sql server 2012 将作业AX转换为sql server函数查询,sql-server-2012,dynamics-ax-2012,x++,ssms-2012,ssms-2014,Sql Server 2012,Dynamics Ax 2012,X++,Ssms 2012,Ssms 2014,在Ax中,我有以下得到正确结果的工作。现在我想使用Sql server在Sql server管理服务中做一些事情。因此,对于InventTable中的每个记录,我们递归地标识所有类别EcoResCategory。命名更高级别及其关联的父级,并使用标识的类别馈送名称字段> CREATE FUNCTION [dbo].[GetAllCategoryLevelName](@ecoResCtg OBJECT , @Parent OBJECT ) RETURNS VARCHAR AS RETURN (

在Ax中,我有以下得到正确结果的工作。现在我想使用Sql server在Sql server管理服务中做一些事情。因此,对于InventTable中的每个记录,我们递归地标识所有类别EcoResCategory。命名更高级别及其关联的父级,并使用标识的类别馈送名称字段>

CREATE FUNCTION [dbo].[GetAllCategoryLevelName](@ecoResCtg OBJECT , @Parent OBJECT )
RETURNS VARCHAR 
AS
RETURN 
(
    -- Add the SELECT statement with parameter references here
    while (
            select @Parent.Level --order by @Parent.Level asc  
            From MicrosoftDynamicsAX.dbo.EcoResCategory          AS  EcoResCategoryParent
            where EcoResCategoryParent.CategoryHierarchy         =  @ecoResCtg.CategoryHierarchy
                    AND   EcoResCategoryParent.NestedSetLeft     <= @ecoResCtg.NestedSetLeft
                    AND   EcoResCategoryParent.NestedSetRight    >= @ecoResCtg.NestedSetLeft
            order by @Parent.Level asc
           )
    BEGIN
       CASE @Parent.Level
            WHEN 1 THEN  level1 = parent.Name
            WHEN 2 THEN  level2 = parent.Name
            WHEN 3 THEN  level3 = parent.Name
            WHEN 4 THEN  level4 = parent.Name
            WHEN 5 THEN  level5 = parent.Name
       END

    END
)
在这个函数中,我不知道如何传递对象参数
在这方面谁能帮忙。
在这方面,任何人都可以帮忙。RegardsHow应该这样做吗?不能从T-SQL返回容器。这里的用例或基本需求是什么?没关系,我正在为每个级别使用表temporaire。在这方面,任何人都可以提供帮助。RegardsHow应该这样做吗?不能从T-SQL返回容器。这里的用例或基本需求是什么?没关系,我对每个级别都使用临时表