Sql 无法在HANA中创建视图

Sql 无法在HANA中创建视图,sql,hana,hana-studio,Sql,Hana,Hana Studio,我正在尝试使用HANA存储过程创建视图,但无法这样做。 它在“.”附近给出了错误的语法 我想使用HANA存储过程创建视图,但无法创建。 它在“.”附近给出了错误的语法。 在 调用“PAYROLLDBTEST”。GetEmpCodeFromEmployeeID(EmpID,EmpCode)作为“EmpCode” 这是我的密码: CREATE VIEW "@HourTransactionView" AS SELECT "@TRANSACTION_HOURS"."DocEntry","@TRANSAC

我正在尝试使用HANA存储过程创建视图,但无法这样做。 它在“.”附近给出了错误的语法

我想使用HANA存储过程创建视图,但无法创建。 它在“.”附近给出了错误的语法。

调用“PAYROLLDBTEST”。GetEmpCodeFromEmployeeID(EmpID,EmpCode)作为“EmpCode”

这是我的密码:

CREATE VIEW "@HourTransactionView" AS SELECT "@TRANSACTION_HOURS"."DocEntry","@TRANSACTION_HOURS"."DocNum",
"@TRANSACTION_HOURS"."U_EmpCode" AS "EmpID",
call "PAYROLLDBTEST".GetEmpCodeFromEmployeeID(EmpID,EmpCode) AS "EmpCode" ,
GetEmployeeFullName("@TRANSACTION_HOURS"."U_EmpCode") AS "FullName", "U_TransactionType" AS "TranCode",
GetHourTableName("U_TransactionType") AS "TableName", GetHourTransactionName("U_TransactionType") AS "TranName",
"U_FromDate", "U_ToDate", DAYS_BETWEEN("U_FromDate", "U_ToDate") + 1 AS "NoOfDays", "U_FromTime", "U_ToTime",
IFNULL("U_WorkHours", 0) AS "NoOfHours", IFNULL("U_OvertimeHours", 0) AS "OvertimeHours",
IFNULL("U_PaidDays", 0) AS "PaidDays", IFNULL("U_UnpaidDays", 0) AS "UnpaidDays",
IFNULL("U_WeekendsCount", 0) AS "Weekends", IFNULL("U_HolidaysCount", 0) AS "Holidays", "U_Remarks", "U_BatchNo",
"U_ProjectCode" AS "ProjectCode"
FROM "@TRANSACTION_HOURS"
INNER JOIN OHEM ON OHEM."empID" = "@TRANSACTION_HOURS"."U_EmpCode";
请帮我找到解决办法。
谢谢。

关于Hana SQL引用,您不能在select语句中使用过程调用


也许您可以尝试将过程“PAYROLLDBTEST”。GetEmpCodeFromEmployeeID包装到函数中。这可以使用procview完成

CREATE PROCEDURE GetEmpCodeFromEmployeeID(...)
LANGUAGE SQLSCRIPT
READS SQL DATA WITH RESULT VIEW ProcView AS
BEGIN
 ...
END;

Create Function GetEmpCodeFromEmployeeIDFunc(...)
 Begin
  return Select * from ProcView;
 End;
参考: