存储过程和sql控制台在hana中是否有不同的行为

存储过程和sql控制台在hana中是否有不同的行为,sql,hana,sdi,Sql,Hana,Sdi,我尝试从存储过程启动流程图。流程图使用物理表(hana上)作为数据源,并在数据目标中使用表类型。流程图定义了两个变量。我在sql控制台和动态sql(EXEC语句)中尝试了该语句,两者都起作用。在存储过程中使用以下语句: create local temporary table #ILTMP_BusinessPartner like "IL_BusinessPartner_TT"; START TASK "FG_IL_BusinessPartner_TT" ( RUNID =>

我尝试从存储过程启动流程图。流程图使用物理表(hana上)作为数据源,并在数据目标中使用表类型。流程图定义了两个变量。我在sql控制台和动态sql(EXEC语句)中尝试了该语句,两者都起作用。在存储过程中使用以下语句:

create local temporary table #ILTMP_BusinessPartner like "IL_BusinessPartner_TT";
START TASK "FG_IL_BusinessPartner_TT" (
        RUNID => '1DDA0970D72353FE16001100A77DE766',
        IDOFDATASET => '0020002933')
        PROCEDURE PARAMETERS( #ILTMP_BusinessPartner );
drop table #ILTMP_BusinessPartner;
返回以下错误消息:

Could not execute 'CALL "X601484_FSDM_INTEGRATION_DELTA"."PR_Test_Parallel"()'
Error: (dberror) [2]: general error: Output argument should be a variable; $condition$=name
我是否缺少存储过程中的特殊行为


谢谢你的建议。

我有一个解决办法。您可以使用变量而不是临时表,如:

DECLARE VAR_OUTPUT IL_BusinessPartner_TT;
START TASK "Test_No_Parameter_tempTable" PROCEDURE PARAMETERS (:VAR_OUTPUT);

我有个变通办法。您可以使用变量而不是临时表,如:

DECLARE VAR_OUTPUT IL_BusinessPartner_TT;
START TASK "Test_No_Parameter_tempTable" PROCEDURE PARAMETERS (:VAR_OUTPUT);