Hi,
I'm currently trying to learn how to use hdbprocedures and have a problem activation a procedure.
I'm using a free HANA trial account.
The error says: "Could not create catalog object: identifier must be declared;"
But it doesn't say which line and there is nothing marked in the hdbprocedure file.
The code I'm using:
PROCEDURE "DEV_****************************"."*******trial.hanainstance.mypackage.myproject::get_win_lose_ratio" ( out out_ratio "_SYS_BIC"."*******trial.hanainstance.mypackage.myproject::win_lose_ratio"
) LANGUAGE SQLSCRIPT SQL SECURITY INVOKER --DEFAULT SCHEMA <default_schema_name> READS SQL DATA AS
BEGIN
/***************************** Write your procedure logic
*****************************/
declare winArray integer array;
declare loseArray integer array;
declare tieArray integer array;
declare idArray integer array;
declare v_id nvarchar(20);
DECLARE CURSOR c_cursor1 (v_ID NVARCHAR(20)) FOR SELECT "ID","enemy","scoreOwn","scoreEnemy" FROM "NEO_****************************"."*********trial.hanainstance.mypackage.myproject::results";
FOR cur_row AS c_cursor1 (v_ID) DO idArray[CAST (cur_row."enemy" as INTEGER)] := cur_row."enemy"; idArray[CAST (cur_row."ID" as INTEGER)] := cur_row."ID"; if cur_row."scoreOwn" > cur_row."scoreEnemy" then winArray[CAST (cur_row."ID" as INTEGER)] := winArray[CAST (cur_row."ID" as INTEGER)] + 1; loseArray[CAST (cur_row."enemy" as INTEGER)] := loseArray[CAST (cur_row."enemy" as INTEGER)] + 1; elseif cur_row."scoreOwn" < cur_row."scoreEnemy" then loseArray[CAST (cur_row."ID" as INTEGER)] := loseArray[CAST (cur_row."ID" as INTEGER)] + 1; winArray[CAST (cur_row."enemy" as INTEGER)] := winArray[CAST (cur_row."enemy" as INTEGER)] + 1; else tieArray[CAST (cur_row."ID" as INTEGER)] := tieArray[CAST (cur_row."ID" as INTEGER)] + 1; tieArray[CAST (cur_row."enemy" as INTEGER)] := tieArray[CAST (cur_row."enemy" as INTEGER)] + 1; end if;
END FOR;
out_ratio = UNNEST(:idArray, :winArray, :loseArray, :tieArray) AS ("ID", "winCnt", "loseCnt", "tieCnt");
END;Can you help me finding my problem?
Thank you and have a nice christmas time!