数据库Hana错误:无法使用参数变量

时间:2018-04-17 10:45:16

标签: sql sap hana

我正在尝试将值插入我的临时值 这是代码

CREATE PROCEDURE REP_PROC11( in docentry nvarchar(2))
AS 

totalval DECIMAL (19,6);


BEGIN
CREATE local TEMPORARY  TABLE #TempItem AS (
select
'FGA000001' as "ItemCode",
'2IN' as "WhsCode",
ifnull(
(
    select 
        "U_IM1_GR"
    from "@OFNC" where "DocEntry"  = :docentry
),0) as "Qty",
'11080302' as "Account",
'S02' as "ProfitCode",
'IN-PN' as "ProfitCode2" 
from DUMMY

union all

select
'FGA000002' as "ItemCode",
'2IN' as "WhsCode",
ifnull(
(
    select 
        U_IM2_GR 
    from "@OFNC" where "DocEntry"  = :docentry
),0) as "Qty",
'11080302' as "Account",
'S02' as "ProfitCode",
'IN-FN' as "ProfitCode2" from dummy);

SELECT X.*, (X."Qty"*:totalval)/Y."TotalQty" as "Val", :totalval as "TotalVal"
FROM #TempItem X
    LEFT JOIN (SELECT SUM(X1."Qty") as "TotalQty" FROM #TempItem X1) Y ON 1 = 1
WHERE X."Qty" > 0;

drop TABLE #TempItem;
end

我收到了这个错误

  SAP Hana数据库错误:不能   使用参数变量:DOCENTRY:第8行col 35(位于第127位)2 0

我不知道出了什么问题, 请给出一些建议 感谢

1 个答案:

答案 0 :(得分:0)

这是您的DDL代码中SQL的限制 - CREATE TEMPORARY TABLE位。

鉴于您的代码到目前为止,您不需要使用临时值。表,但可以通过使用表变量产生相同的结果(使用较少的资源)。