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!